SQL中exists的使用方法建站知識
導讀:1建站知識EXISTS用于檢查子查詢是否至少會返回一行數據,該子查詢實際上并不返回任何數據,而是返回值True或False如何seo優化推廣網站高端網站建設。
有一個查詢如下:
復制代碼 代碼如下:
SELECT c.CustomerId, CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID = cu.CustomerID)
這里面的EXI網seo優化趨勢STS是如何運作呢?子查詢返回的是OrderId字段,可是外面的查詢要找的是CustomerID和CompanyName字段,這兩個字段肯定不在OrderID里面啊,這是如何匹配的呢? EXISTS用于檢查子查詢是否至少會返回一行數據,該子查詢實際上并不返回任何數據,而是返回值True或False。 EXISTS 指定一個子查詢,檢測行的存在。語法:EXISTS subquery。參數 subquery 是一個受限的 SELECT 語句 (不允許有 COMPUTE 子句和 INTO 關鍵字)。結果類型為 Boolean,如果子查詢包含行,則返回 TRUE。 在子查詢中使用 NULL 仍然返回結果集 這個例子在子查詢中指定 NULL,并返回結果集,通過使用 EXISTS 仍取值為 TRUE。復制代碼 代碼如下:
SELECT CategoryName FROM Categories WHERE EXISTS (SELECT NULL) ORDER BY CategoryName ASC
比較使用 EXISTS 和 IN 的查詢 這個例子比較了兩個語義類似的查詢。第一個查詢使用 EXISTS 而第二個查詢使用 IN。注意兩個查詢返回相同的信息。復制代碼 代碼如下:
SELECT DISTINCT pub_name FROM publishers WHERE EXISTS (SELECT * FROM titles WHERE pub_id = publishers.pub_id AND type = \'business\')
復制代碼 代碼如下:
SELECT distinct pub_name FROM publishers WHERE pub_id IN (SELECT pub_id FROM titles WHERE type = \'business\')
比較使用 EXISTS 和 = ANY 的查詢 本示例顯示查找與出版商住在同一城市中的作者的兩種網站seo優化培訓查詢方法:第一種方法使用 = ANY,第二種方法使用 EXISTS。注意這兩種方法返回相同的信息。復制代碼 代碼如下:
SELECT au_lname, au_fname FROM authors WHERE exists (SELECT * FROM publishers WHERE authors.city = publishers.city)
復制代碼 代碼如下:
SELECT au_lname, au_fname FROM authors WHERE city = ANY (SELECT city FROM publishers)
比較使用 EXISTS 和 IN 的查詢 本示例所示查詢查找由位于以字母 B 開頭的城市中的任一出版商出版的書名:復制代碼 代碼如下:
SELECT title FROM titles WHERE EXISTS (SELECT * FROM publishers WHERE pub_id = titles.pub_id AND city LIKE \'B%\')
復制代碼 代碼如下:
SELECT title FROM titles WHERE pub_id IN (SELECT pub_id FROM publishers WHERE city LIKE \'B%\')
使用 NOT EXISTS NOT EXISTS 的作用與 EXISTS 正相反。如果子查詢沒有返回行,則滿足 NOT EXISTS 中的 WHERE 子句。本示例查找不出版商業書籍的出版商的名稱:聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-21 ,文章SQL中exists的使用方法建站知識主要講述使用方法,標簽,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_3870.html