您好,登錄后才能下訂單哦!
只有子查詢返回的結(jié)果列包含一個值時,比較運算符才適用。假如一個子查詢返回的結(jié)果集是值的列表,這時比較運算符就必須用IN運算符代替。
IN運算符可以檢測結(jié)果集中是否存在某個特定的值,如果檢測成功就執(zhí)行外部的查詢。
查看在infos表中score字段內(nèi)容符合條件對應(yīng)的info表信息
SELECT * from info where score in (SELECT score FROM infos );
查詢結(jié)果:
查看在infos表和info表同名人信息
SELECT * from info where name in (SELECT name FROM infos );
查詢結(jié)果:
子查詢可以使用比較運算符。這些比較運算符包括=、!=、>、>=、<、<=等。比較運算符在子查詢時使用的非常廣泛。
SELECT * from info where age >= (SELECT age FROM infos where id =4);
查詢結(jié)果:
使用EXISTS關(guān)鍵字時,內(nèi)層查詢語句不返回查詢的記錄。而是返回一個真假值。如果內(nèi)層查詢語句查詢到滿足條件的記錄,就返回一個真值(true),否則,將返回一個假值(false)。當(dāng)返回的值為true時,外層查詢語句將進(jìn)行查詢;當(dāng)返回的為false時,外層查詢語句不進(jìn)行查詢或者查詢不出任何記錄。
SELECT * from info where exists (SELECT * from infos where id =2);
查詢結(jié)果:
SELECT * from info where exists (SELECT * from infos where id =27);
查詢結(jié)果:
ANY關(guān)鍵字表示滿足其中任意一個條件。使用ANY關(guān)鍵字時,只要滿足內(nèi)層查詢語句返回的結(jié)果中的任意一個,就可以通過該條件來執(zhí)行外層查詢語句。
SELECT * from info where age > ANY(SELECT age from infos);
查詢結(jié)果:
ALL關(guān)鍵字表示滿足所有條件。使用ALL關(guān)鍵字時,只有滿足內(nèi)層查詢語句返回的所有結(jié)果,才可以執(zhí)行外層查詢語句。
SELECT * from info where age < all(SELECT age from infos);
查詢結(jié)果:
合并查詢結(jié)果是將多個SELECT語句的查詢結(jié)果合并到一起。合并查詢結(jié)果使用UNION和UNION ALL關(guān)鍵字。
SELECT score from info UNION SELECT score from infos;
查詢結(jié)果:
SELECT score from info UNION SELECT name from infos;
查詢結(jié)果:
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。