方法/步驟

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)咸豐,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
1
首先,在一個(gè)查詢中的查詢結(jié)果作為外層查詢的條件,可以用IN關(guān)鍵字,代碼如下:
SELECT * FROM city WHERE CountryCode IN (SELECT Code FROM country);
如下圖所示:
2
其次,外層查詢的條件不在內(nèi)層查詢結(jié)果,可以用NOT IN關(guān)鍵字,代碼如下:
SELECT * FROM city WHERE CountryCode NOT IN (SELECT Code FROM country);
如下圖所示:
3
使用EXISTS關(guān)鍵字查詢時(shí),內(nèi)層查詢語句不返回查詢的記錄,而是返回一個(gè)Boolean值;當(dāng)內(nèi)層查詢返回的值為true時(shí),外層查詢語句將進(jìn)行查詢,如果返回false時(shí),將不進(jìn)行查詢或查詢結(jié)果為空,代碼如下:
SELECT * FROM city WHERE EXISTS (SELECT Name FROM country);
如下圖所示:
4
由第三步可知,與EXISTS相對的是NOT EXISTS,當(dāng)內(nèi)層查詢返回的值為false時(shí),外層查詢語句將進(jìn)行查詢,如果返回true時(shí),將不進(jìn)行查詢或查詢結(jié)果為空,代碼如下:
SELECT * FROM city WHERE NOT EXISTS (SELECT Name FROM country);
如下圖所示:
5
滿足其中的任一條件,就可以通過該條件來執(zhí)行外層查詢語句,用關(guān)鍵字ANY,代碼如下:
SELECT * FROM city WHERE Population = ANY (SELECT Population FROM country);
如下圖所示:
6
子查詢還包含比較運(yùn)算符,有“="、“="、"!="等關(guān)鍵字,代碼如下:
SELECT * FROM city WHERE Population = (SELECT Population FROM country WHERE Name = 'Afghanistan');
SELECT * FROM city WHERE Population = (SELECT Population FROM country WHERE Name = 'Afghanistan');
SELECT * FROM city WHERE Population != (SELECT Population FROM country WHERE Name = 'Afghanistan');
如下圖所示:
7
滿足所有條件,只有滿足內(nèi)層查詢語句返回所有結(jié)果,代碼如下:
SELECT * FROM city WHERE Population = ALL (SELECT Population FROM country WHERE Name = 'Afghanistan');
如下圖所示:
本篇開始是子查詢的學(xué)習(xí)筆記,首先是一道題目:
where 型子查詢,如果是 where 列 =(內(nèi)層 sql) 則內(nèi)層 sql 返回的必須是單行單列,單個(gè)值。
where 型子查詢,如果是 where 列 in(內(nèi)層 sql) 則內(nèi)層 sql 返回的必須是單列,可以多行。
在學(xué)習(xí) from 子查詢之前,需要理解一個(gè)概念: 查詢結(jié)果集在結(jié)構(gòu)上可以當(dāng)成表看 ,那就可以當(dāng)成臨時(shí)表對他進(jìn)行再次查詢:
exists 型子查詢是指外層 sql 的結(jié)果,拿到內(nèi)層 sql 去測試,如果內(nèi)層 sql 成立,則該行取出。學(xué)習(xí)之前先建一張表:
向里面插入原來 ecshop.ecs_category 中的部分?jǐn)?shù)據(jù):
Mysql練習(xí)題,可對本章學(xué)習(xí)的內(nèi)容進(jìn)行鞏固
dept.sql
emp.sql
salgrade.sql
查詢每個(gè)員工的工資
給查詢列起別名
條件查詢需要用到where語句,where語句必須放到from語句后面。
==語法格式如下==
==條件查詢支持以下運(yùn)算符==
==查詢工資為5000的員工姓名==
==搭配%使用==
(1)
(2)
(3)
==搭配_使用==
==注意事項(xiàng)==
==連接查詢分類==
查詢每個(gè)員工的部門名稱,要求顯示員工名和部門名
找出每個(gè)員工的工資等級,要求顯示員工名、工資、工資等級
找出每個(gè)員工的上級領(lǐng)導(dǎo),要求顯示員工名和對應(yīng)的領(lǐng)導(dǎo)名稱
外連接分類
==1、where后面嵌套子查詢==
==2、from后面嵌套子查詢==
列出各種工作的最低工資及從事此工作的雇員姓名
3、select后面嵌套子查詢
查詢每個(gè)員工所在部門名稱
覺得不錯的小伙伴可以點(diǎn)贊關(guān)注和收藏哦!如有錯誤可以指出來。
font size="4"Java學(xué)習(xí)路線目錄索引/font
子查詢在主查詢前執(zhí)行一次
主查詢使用子查詢的結(jié)果
子查詢要用括號括起來
將子查詢放在比較運(yùn)算符的右邊
子查詢中不要加ORDER BY子句
對單行子查詢使用單行運(yùn)算符 ?(如:=、、=、、=、)
對多行子查詢使用多行運(yùn)算符 ?
ANY 指大于最小值
ANY指小于最大值
ALL 指大于最大值
ALL指小于最小值
#查詢高于自己部門平均工資的員工名字,部門號,工資,平均工資*** 虛表
------------------------示例-----------------
#1.使用標(biāo)準(zhǔn)SQL嵌套子查詢和連接查詢兩種方法查詢選修課程名稱為'gs'的學(xué)生學(xué)號和姓名
#2 使用標(biāo)準(zhǔn)SQL嵌套語句查詢選修課程編號為‘2’的學(xué)生姓名和所屬班級
#3.使用標(biāo)準(zhǔn)SQL嵌套語句查詢選修全部課程的學(xué)員姓名和所屬班級? *******
#4.查詢選修了課程的學(xué)生人數(shù)
#5.查詢選修課程超過3門的學(xué)員學(xué)號和所屬班級 ****
子查詢指一個(gè)查詢語句嵌套在另一個(gè)查詢語句內(nèi)部的查詢,這個(gè)特性從 MySQL 4.1 開始引入,在 SELECT 子句中先計(jì)算子查詢,子查詢結(jié)果作為外層另一個(gè)查詢的過濾條件,查詢可以基于一個(gè)表或者多個(gè)表。
子查詢中常用的操作符有 ANY(SOME)、ALL、IN 和 EXISTS。
子查詢可以添加到 SELECT、UPDATE 和 DELETE 語句中,而且可以進(jìn)行多層嵌套。子查詢也可以使用比較運(yùn)算符,如“”、“=”、“”、“=”、“!=”等。
網(wǎng)站名稱:mysql怎么加子查詢,MYSQL子查詢
文章來源:http://chinadenli.net/article28/dsigcjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、全網(wǎng)營銷推廣、網(wǎng)站策劃、服務(wù)器托管、定制開發(fā)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)