亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL exists 和in 詳解及區別

2024-07-24 13:11:52
字體:
來源:轉載
供稿:網友

MySQL exists 和in10/129042.html">inux/141744.html">in 詳解及區別

有一個查詢如下:

SELECT c.CustomerId, CompanyName  FROM Customers c  WHERE EXISTS(   SELECT OrderID FROM Orders o   WHERE o.CustomerID = cu.CustomerID)  

這里面的EXISTS是如何運作呢?子查詢返回的是OrderId字段,可是外面的查詢要找的是CustomerID和CompanyName字段,這兩個字段肯定不在OrderID里面啊,這是如何匹配的呢?

EXISTS用于檢查子查詢是否至少會返回一行數據,該子查詢實際上并不返回任何數據,而是返回值True或False。

EXISTS 指定一個子查詢,檢測行的存在。語法:EXISTS subquery。參數 subquery 是一個受限的 SELECT 語句 (不允許有 COMPUTE 子句和 INTO 關鍵字)。結果類型為 Boolean,如果子查詢包含行,則返回 TRUE。

在子查詢中使用 NULL 仍然返回結果集

這個例子在子查詢中指定 NULL,并返回結果集,通過使用 EXISTS 仍取值為 TRUE。

SELECT CategoryNameFROM CategoriesWHERE EXISTS (SELECT NULL)ORDER BY CategoryName ASC

比較使用 EXISTS 和 IN 的查詢

這個例子比較了兩個語義類似的查詢。第一個查詢使用 EXISTS 而第二個查詢使用 IN。注意兩個查詢返回相同的信息。

SELECT DISTINCT pub_nameFROM publishersWHERE EXISTS  (SELECT *  FROM titles  WHERE pub_id = publishers.pub_id  AND type = 'business')

 比較使用 EXISTS 和 = ANY 的查詢

本示例顯示查找與出版商住在同一城市中的作者的兩種查詢方法:第一種方法使用 = ANY,第二種方法使用 EXISTS。注意這兩種方法返回相同的信息。

SELECT au_lname, au_fnameFROM authorsWHERE exists  (SELECT *  FROM publishers  WHERE authors.city = publishers.city) 

比較使用 EXISTS 和 IN 的查詢

本示例所示查詢查找由位于以字母 B 開頭的城市中的任一出版商出版的書名:

SELECT titleFROM titlesWHERE EXISTS  (SELECT *  FROM publishers  WHERE pub_id = titles.pub_id  AND city LIKE 'B%')

使用 NOT EXISTS

NOT EXISTS 的作用與 EXISTS 正相反。如果子查詢沒有返回行,則滿足 NOT EXISTS 中的 WHERE 子句。本示例查找不出版商業書籍的出版商的名稱:

SELECT pub_nameFROM publishersWHERE NOT EXISTS  (SELECT *  FROM titles  WHERE pub_id = publishers.pub_id  AND type = 'business')ORDER BY pub_name

又比如以下 SQL 語句:

select distinct 姓名 from xswhere not exists (select * from kcwhere not exists (select * from xs_kcwhere 學號=xs.學號 and 課程號=kc.課程號)

把最外層的查詢xs里的數據一行一行的做里層的子查詢。

中間的 exists 語句只做出對上一層的返回 true 或 false,因為查詢的條件都在 where 學號=xs.學號 and 課程號=kc.課程號這句話里。每一個 exists 都會有一行值。它只是告訴一層,最外層的查詢條件在這里成立或都不成立,返回的時候值也一樣回返回上去。直到最高層的時候如果是 true(真)就返回到結果集。為 false(假)丟棄。

where not existsselect * from xs_kcwhere 學號=xs.學號 and 課程號=kc.課程號

這個 exists 就是告訴上一層,這一行語句在我這里不成立。因為他不是最高層,所以還要繼續向上返回。

select distinct 姓名 from xs where not exists (這里的 exists 語句收到上一個為 false 的值。他在判斷一下,結果就是為 true(成立),由于是最高層所以就會把這行的結果(這里指的是查詢條件)返回到結果集。

幾個重要的點:

  • 最里層要用到的醒詢條件的表比如:xs.學號、kc.課程號等都要在前面的時候說明一下select * from kc,select distinct 姓名 from xs
  • 不要在太注意中間的exists語句.
  • 把exists和not exists嵌套時的返回值弄明白

 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区无码高清视频| 亚洲欧美www| 91精品国产自产在线| 欧美性在线视频| 日韩在线观看免费av| 色综合导航网站| 亚洲色图15p| 亚洲欧美日韩中文视频| 久久久免费精品| 国产精品电影在线观看| 97超级碰碰碰久久久| 久久69精品久久久久久久电影好| 国内外成人免费激情在线视频网站| 久久夜精品香蕉| 日韩中文字幕av| 亚洲国产婷婷香蕉久久久久久| 国产精品亚洲激情| 国产91免费看片| 久久91亚洲精品中文字幕| 欧美日韩亚洲激情| 久久精品视频播放| 精品国产成人在线| 97视频在线免费观看| 欧美做受高潮1| www.日韩不卡电影av| 久久色免费在线视频| 国产精品久久色| 91精品国产综合久久男男| 亚洲一区二区在线| www欧美xxxx| 久久久久久久久中文字幕| 北条麻妃久久精品| 久久青草福利网站| 91免费看视频.| 最近2019年手机中文字幕| 国产日韩在线播放| 亚洲国产欧美日韩精品| 日韩女在线观看| 久久夜色精品国产亚洲aⅴ| 国产精品久在线观看| 秋霞午夜一区二区| 日韩电影中文字幕av| 中文字幕少妇一区二区三区| 国产不卡精品视男人的天堂| 亚洲福利视频免费观看| 精品久久久久久久中文字幕| 欧洲s码亚洲m码精品一区| 九九热这里只有精品6| 国产精品1234| 亚洲午夜小视频| 日韩欧美国产中文字幕| 欧美成人免费一级人片100| 久久精品视频网站| 秋霞午夜一区二区| 久久久国产91| 中文字幕欧美日韩精品| 久久天堂av综合合色| 国产精品爽黄69| 亚洲第一男人天堂| 亚洲肉体裸体xxxx137| 国内揄拍国内精品少妇国语| 欧美与黑人午夜性猛交久久久| 一本色道久久88亚洲综合88| 亚洲bt天天射| 亚洲免费视频一区二区| 国产精品高潮呻吟久久av无限| 国产999精品| 国产精品扒开腿做爽爽爽的视频| 久久天天躁狠狠躁夜夜躁2014| 欧美在线视频网| 久久国内精品一国内精品| 成人免费直播live| 日日噜噜噜夜夜爽亚洲精品| 久久精品一区中文字幕| 久久久久久久一区二区| 欧美精品18videosex性欧美| 欧美性猛交99久久久久99按摩| 亚洲成人精品视频| 国产精品视频一区二区高潮| 亚洲欧美一区二区三区久久| 日韩中文理论片| 亚洲第一区中文99精品| 久久久精品久久久| 国产亚洲xxx| 97视频在线观看成人| 国产一区二区三区毛片| 国产成人精品久久亚洲高清不卡| 中文字幕久热精品在线视频| 97超碰蝌蚪网人人做人人爽| 国产精品视频白浆免费视频| 欧美大奶子在线| 精品亚洲男同gayvideo网站| 国产精品久久久久一区二区| 在线观看亚洲区| 亚洲最大福利视频网站| 91久久久久久国产精品| 91成人在线观看国产| 久久精品久久久久久国产 免费| 久久免费视频网| 久久久在线观看| 精品视频9999| 在线观看日韩专区| 国产精品爽爽ⅴa在线观看| 久久久久国产精品www| xvideos国产精品| 色噜噜亚洲精品中文字幕| 国产黑人绿帽在线第一区| 国产免费一区二区三区香蕉精| 国产精品流白浆视频| 日av在线播放中文不卡| 国内精品久久久久伊人av| 欧美国产日韩在线| 久久久久久久电影一区| 久久精品国产成人| 国产成人精品网站| 最近2019中文字幕第三页视频| 在线观看日韩视频| 欧美日韩国产麻豆| 国产欧美中文字幕| 久热国产精品视频| 国产精品久久二区| 国产日韩在线亚洲字幕中文| 欧美在线影院在线视频| 亚洲影院高清在线| 黑人巨大精品欧美一区二区免费| 亚洲图片制服诱惑| 亚洲第一中文字幕| 欧美激情欧美激情| 亚洲视频999| 国产精品一区二区三区在线播放| 国产亚洲精品日韩| 视频在线观看99| 久久久久久网站| 亚洲第一视频在线观看| 国产成人中文字幕| 欧美影院成年免费版| www国产精品视频| 成人黄色在线免费| 97涩涩爰在线观看亚洲| 色播久久人人爽人人爽人人片视av| 欧美日韩免费在线观看| 欧美高清在线观看| 亚洲免费小视频| 成人精品在线视频| 日韩国产在线播放| 国产精品免费一区豆花| 自拍视频国产精品| 亚洲男人的天堂在线播放| 国产视频精品va久久久久久| 欧美性极品xxxx娇小| 亚洲视频在线观看免费| 亚洲一区二区三区在线免费观看| 欧美日韩国产精品一区二区三区四区| 精品久久久久久久久国产字幕| 国内揄拍国内精品| 中文字幕久久精品| 久久精品福利视频| 久久久久久69| 高跟丝袜一区二区三区| 亚洲美女黄色片| 欧美日韩国产综合视频在线观看中文| 久久黄色av网站| 欧美一级淫片aaaaaaa视频| 欧美日韩在线一区|