首頁 > 軟體

MySQL巢狀查詢實現子查詢的方法

2022-02-23 10:00:35

一個查詢語句巢狀在另一個查詢語句內部的查詢

常用操作符:ANY(SOME), ALL, IN, EXISTS

比較運運算元:>, >=, <, <=, != 等

建立兩個表,表明分別是tb1,tb2,並向其各插入了資料。

1.帶ANY(SOME)關鍵字的子查詢

這裡any和some是同義詞,都是表示滿足任一條件。

例:查詢tb1中的所有資料,只要大於tb2表中資料的任意值,既符合查詢條件。

select num1 from tb1 where num1>ANY(select num2 from tb2);

2.帶ALL關鍵字的子查詢

例:查詢tb1中的所有資料,返回其中比tb2表中任何值都大的資料。

select num1 from tb1 where num1>ALL(select num2 from tb2);

3.帶EXISTS關鍵字的子查詢

例1:查詢fruits表中name欄位下是否有apple,若有則查詢fruits表中的記錄,否則不查詢。

select * from fruits where EXISTS(select name from fruits where name='apple');

例2:查詢tb1表中是否存在num1=13的記錄,若存在,則查詢fruits表中price大於6.00的記錄。

select * from fruits where price>6.00 and EXISTS (select num1 from tb1 where num1=13);

相反,可以使用 not exists 查詢不存在的,用法相同。

4.帶IN關鍵字的子查詢

表示查詢結果在後面子查詢的範圍之中

例如:查詢tb1表中的num1欄位下的資料作為資料列,fruits表中id欄位下的資料與其進行比較,返回符合條件的記錄。

select * from fruits where id IN (select num1 from tb1);

5.帶比較運運算元的子查詢

select * from 表名 where 欄位名 > (select ······);

到此這篇關於MySQL巢狀查詢實現子查詢的方法的文章就介紹到這了,更多相關MySQL 子查詢內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com