MySQL嵌套查詢實現(xiàn)子查詢的方法
一個查詢語句嵌套在另一個查詢語句內(nèi)部的查詢
常用操作符:ANY(SOME), ALL, IN, EXISTS
比較運算符:>, >=, <, <=, != 等
創(chuàng)建兩個表,表明分別是tb1,tb2,并向其各插入了數(shù)據(jù)。
1.帶ANY(SOME)關(guān)鍵字的子查詢
這里any和some是同義詞,都是表示滿足任一條件。
例:查詢tb1中的所有數(shù)據(jù),只要大于tb2表中數(shù)據(jù)的任意值,既符合查詢條件。
select num1 from tb1 where num1>ANY(select num2 from tb2);
2.帶ALL關(guān)鍵字的子查詢
例:查詢tb1中的所有數(shù)據(jù),返回其中比tb2表中任何值都大的數(shù)據(jù)。
select num1 from tb1 where num1>ALL(select num2 from tb2);
3.帶EXISTS關(guān)鍵字的子查詢
例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關(guān)鍵字的子查詢
表示查詢結(jié)果在后面子查詢的范圍之中
例如:查詢tb1表中的num1字段下的數(shù)據(jù)作為數(shù)據(jù)列,fruits表中id字段下的數(shù)據(jù)與其進行比較,返回符合條件的記錄。
select * from fruits where id IN (select num1 from tb1);
5.帶比較運算符的子查詢
select * from 表名 where 字段名 > (select ······);
到此這篇關(guān)于MySQL嵌套查詢實現(xiàn)子查詢的方法的文章就介紹到這了,更多相關(guān)MySQL 子查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL重啟之后無法寫入數(shù)據(jù)的問題排查及解決
客戶在給系統(tǒng)打補丁之后需要重啟服務(wù)器,數(shù)據(jù)庫在重啟之后,read_only 的設(shè)置與標(biāo)準(zhǔn)配置 文件中不一致,導(dǎo)致主庫在啟動之后無法按照預(yù)期寫入,所以本文給大家介紹了MySQL重啟之后無法寫入數(shù)據(jù)的問題排查及解決,需要的朋友可以參考下2024-05-05MySQL通過DQL實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的基本查詢
這篇文章給大家介紹了MySQL如何通過DQL進行數(shù)據(jù)庫數(shù)據(jù)的基本查詢,文中通過代碼示例和圖文結(jié)合介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01通用SQL存儲過程分頁以及asp.net后臺調(diào)用的方法
下面小編就為大家?guī)硪黄ㄓ肧QL存儲過程分頁以及asp.net后臺調(diào)用的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12騰訊面試:一條SQL語句執(zhí)行得很慢的原因有哪些?---不看后悔系列(推薦)
這篇文章主要介紹了SQL語句執(zhí)行慢的原因,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04