SQL查詢語句之子查詢1

【子查詢】

1丙曙、 子查詢的各個使用形式。

2其骄、 分析子查詢的主要意義亏镰。

實際上,對于整個的SQL語法而言拯爽,所有的組成索抓,就是幾個固定的查詢語句:SELECT、FROM毯炮、WHERE逼肯、GROUP BY、HAVING否副、ORDER BY汉矿。

而所謂的子查詢崎坊,指的就是备禀,在一個查詢里面繼續(xù)嵌套其他的查詢語句。如果非要給子查詢一個語法的話:

SELECT [ DISTINCT ] 分組字段 [別名],... | 統(tǒng)計函數(shù), (

SELECT [ DISTINCT ] 分組字段 [別名]曲尸,... | 統(tǒng)計函數(shù)

FROM 表名稱 [別名]赋续,表名稱 [別名],...

[ WHERE 過濾條件(s) ]

[ GROUP BY 分組字段另患,分組字段纽乱,... ]

[ HAVING 分組后的過濾條件 ]

[ ORDER BY 字段 [ ASC | DESC ],字段 [ ASC | DESC ]昆箕,... ] )

FROM 表名稱 [別名]鸦列,表名稱 [別名],... , (

SELECT [ DISTINCT ] 分組字段 [別名]鹏倘,... | 統(tǒng)計函數(shù)

FROM 表名稱 [別名]薯嗤,表名稱 [別名],...

[ WHERE 過濾條件(s) ]

[ GROUP BY 分組字段纤泵,分組字段骆姐,... ]

[ HAVING 分組后的過濾條件 ]

[ ORDER BY 字段 [ ASC | DESC ],字段 [ ASC | DESC ]捏题,... ] )

[ WHERE 過濾條件(s) (

SELECT [ DISTINCT ] 分組字段 [別名]玻褪,... | 統(tǒng)計函數(shù)

FROM 表名稱 [別名],表名稱 [別名]公荧,...

[ WHERE 過濾條件(s) ]

[ GROUP BY 分組字段带射,分組字段,... ]

[ HAVING 分組后的過濾條件 ]

[ ORDER BY 字段 [ ASC | DESC ]稚矿,字段 [ ASC | DESC ]庸诱,... ] ) ]

[ GROUP BY 分組字段,分組字段晤揣,... ]

[ HAVING 分組后的過濾條件 (

SELECT [ DISTINCT ] 分組字段 [別名]桥爽,... | 統(tǒng)計函數(shù)

FROM 表名稱 [別名],表名稱 [別名]昧识,...

[ WHERE 過濾條件(s) ]

[ GROUP BY 分組字段钠四,分組字段,... ]

[ HAVING 分組后的過濾條件 ]

[ ORDER BY 字段 [ ASC | DESC ]跪楞,字段 [ ASC | DESC ]缀去,... ] ) ]

[ ORDER BY 字段 [ ASC | DESC ],字段 [ ASC | DESC ]甸祭,... ] ;

在一個查詢語句之中缕碎,有可能會同時嵌套多個子查詢。對于子查詢的時候池户,給出幾個非官方的使用方法:

◆ WHERE子句:子查詢一般會返回單行單列咏雌、單行多列凡怎、多行單列數(shù)據(jù)。

◆ HAVING子句:子查詢會返回單行單列赊抖,同時表示要使用統(tǒng)計函數(shù)统倒。

◆ FROM子句:子查詢返回多行多列數(shù)據(jù)(表結(jié)構(gòu))。

◆ SELECT子句:返回單行單列氛雪,不過一般不使用房匆。

【在WHERE子句里面,使用子查詢(重點)】

WHERE子句的作用是报亩,進行數(shù)據(jù)行的篩選操作的浴鸿。

范例:查詢出低于公司 平均工資 的雇員信息

◆ 應(yīng)該先統(tǒng)計出公司的平均工資的數(shù)值。

SELECT AVG(sal) FROM emp ;

◆ 以上的查詢弦追,返回單行單列赚楚,可以作為WHERE子句的過濾條件使用。

SELECT * FROM emp

WHERE sal<(SELECT AVG(sal) FROM emp ) ;

范例:查詢出公司最早雇傭的雇員信息

◆ 使用MIN( )函數(shù)骗卜,找到最早的雇傭日期宠页,返回單行單列數(shù)據(jù)。

SELECT MIN(hiredate) FROM emp ;

◆ 如果返回單行單列數(shù)據(jù)寇仓,并且又不使用統(tǒng)計函數(shù)举户,在WHERE子句中出現(xiàn)。

SELECT * FROM emp

WHERE hiredate=(SELECT MIN(hiredate) FROM emp ) ;

除了返回單行單列的內(nèi)容之外遍烦,還可以返回單行多列俭嘁,此類的操作,一般不會經(jīng)常使用服猪。

范例:查詢與SCOTT從事同一工作供填,并且工資相同的雇員信息。

◆ 首先應(yīng)該知道SCOTT的工作和工資罢猪。

SELECT job, sal FROM emp WHERE ename='SCOTT' ;

◆ 需要有另外的雇員在職位和工資上近她,與SCOTT的完全相同,由于此時返回的是單行多列的內(nèi)容膳帕,所以需要使用( )進行描述粘捎。

SELECT * FROM emp

WHERE (job, sal)=(

SELECT job, sal FROM emp WHERE ename='SCOTT' )

AND ename<>'SCOTT' ;

如果說子查詢返回的內(nèi)容,是多行單列的話危彩,那么攒磨,就表示: 一個操作的數(shù)據(jù)范圍。所以汤徽,對于此類的判斷娩缰,在SQL語句之中,提供有三個操作符:IN(應(yīng))谒府、ANY(安你)拼坎、ALL噢梧奢。

1、 IN操作: 指的是與子查詢返回的內(nèi)容相同

查詢經(jīng)理們的工資

SELECT sal FROM emp WHERE job='MANAGER' ;

查詢 工資 與經(jīng)理們的工資 相同的 所有雇員信息

SELECT * FROM emp WHERE sal IN(

SELECT sal FROM emp WHERE job='MANAGER' ) ;

此過程演痒,與之前所學(xué)的IN操作,完全相同趋惨,唯一的區(qū)別在于鸟顺,之前學(xué)的IN的范圍內(nèi)容是自己設(shè)置的,而此時是通過子查詢而來的器虾。

那么讯嫂,既然有了IN操作,就一定會有NOT IN操作兆沙。

查詢工資與經(jīng)理們的工資不同的所有雇員信息

SELECT * FROM emp

WHERE sal NOT IN(

SELECT sal FROM emp WHERE job='MANAGER' ) ;

SELECT * FROM emp

WHERE NOT sal IN(

SELECT sal FROM emp WHERE job='MANAGER' ) ;

但是欧芽,如果使用的是NOT IN或者是NOT ... IN,新的問題就出現(xiàn)了葛圃,子查詢里面千扔,不能夠返回null。如果子查詢返回了null库正,那么曲楚,最終的查詢,不會有任何的結(jié)果出現(xiàn)褥符。

范例:子查詢返回了null

SELECT mgr FROM emp ;

SELECT * FROM emp WHERE empno NOT IN(

SELECT mgr FROM emp ) ;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末龙誊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子喷楣,更是在濱河造成了極大的恐慌趟大,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铣焊,死亡現(xiàn)場離奇詭異逊朽,居然都是意外死亡,警方通過查閱死者的電腦和手機曲伊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門惋耙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人熊昌,你說我怎么就攤上這事绽榛。” “怎么了婿屹?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵灭美,是天一觀的道長。 經(jīng)常有香客問我昂利,道長届腐,這世上最難降的妖魔是什么铁坎? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮犁苏,結(jié)果婚禮上硬萍,老公的妹妹穿的比我還像新娘。我一直安慰自己围详,他們只是感情好朴乖,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著助赞,像睡著了一般买羞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雹食,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天畜普,我揣著相機與錄音,去河邊找鬼群叶。 笑死吃挑,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的街立。 我是一名探鬼主播儒鹿,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼几晤!你這毒婦竟也來了约炎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蟹瘾,失蹤者是張志新(化名)和其女友劉穎圾浅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體憾朴,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡狸捕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了众雷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灸拍。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖砾省,靈堂內(nèi)的尸體忽然破棺而出鸡岗,到底是詐尸還是另有隱情,我是刑警寧澤编兄,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布轩性,位于F島的核電站,受9級特大地震影響狠鸳,放射性物質(zhì)發(fā)生泄漏揣苏。R本人自食惡果不足惜悯嗓,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卸察。 院中可真熱鬧脯厨,春花似錦、人聲如沸坑质。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洪乍。三九已至,卻和暖如春夜焦,著一層夾襖步出監(jiān)牢的瞬間壳澳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工茫经, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留巷波,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓卸伞,卻偏偏與公主長得像抹镊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子荤傲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1.簡介 數(shù)據(jù)存儲有哪些方式垮耳?電子表格,紙質(zhì)文件遂黍,數(shù)據(jù)庫终佛。 那么究竟什么是關(guān)系型數(shù)據(jù)庫? 目前對數(shù)據(jù)庫的分類主要是...
    喬震閱讀 1,722評論 0 2
  • 查詢是數(shù)據(jù)的一個重要操作雾家。用戶發(fā)送查詢請求铃彰,經(jīng)編譯軟件變異成二進制文件供服務(wù)器查詢,后返回查詢結(jié)果集給用戶芯咧,查詢會...
    產(chǎn)品小正閱讀 1,390評論 0 2
  • 1. select * from emp; 2. select empno, ename, job from em...
    海納百川_4d26閱讀 1,908評論 0 4
  • 數(shù)據(jù)庫概述: 數(shù)據(jù)庫(DataBase牙捉,DB):指長期保存在計算機的存儲設(shè)備上,按照一定規(guī)則組織起來敬飒,可以被各種用...
    字節(jié)碼閱讀 543評論 0 0
  • 曖昧 男女生之間難道真的沒有單純的友誼嗎无拗? 在大家的心里霜浴,有些會這樣認(rèn)為,較好的男女生之間的感情蓝纲,比如紅/藍顏阴孟,男...
    阮先森1閱讀 388評論 0 1