本篇文章給大家?guī)?lái)了關(guān)于mysql的相關(guān)知識(shí),其中主要介紹了關(guān)于子查詢(xún)的相關(guān)內(nèi)容,包括了where后面嵌套子查詢(xún)、from后面嵌套子查詢(xún)、在select后面嵌套子查詢(xún)等等內(nèi)容,下面一起來(lái)看一下,希望對(duì)大家有幫助。
程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步
推薦學(xué)習(xí):mysql視頻教程
定義:select語(yǔ)句中嵌套select語(yǔ)句,被嵌套的select語(yǔ)句是子查詢(xún)。
子查詢(xún)可以出現(xiàn)在:
select ....(select).. from ....(select).. where ....(select)..
1.where后面嵌套子查詢(xún)
select * from emp where sal > (select avg(sal) from emp) ;
2.from后面嵌套子查詢(xún)*
SELECT d.dname,AVG(s.grade) '部門(mén)平均薪資' FROM emp e JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal JOIN dept d ON e.deptno = d.deptno GROUP BY d.dname
3.在select 后面嵌套子查詢(xún)
找出每個(gè)員工所在的部門(mén)名稱(chēng)
寫(xiě)法一:看作臨時(shí)表 SELECT t.ename,d.dname FROM dept d JOIN (SELECT e.ename,e.deptno FROM emp e) t ON t.deptno = d.deptno 寫(xiě)法二:連接查詢(xún) SELECT e.ename,d.dname FROM emp e JOIN dept d ON e.deptno = d.deptno 寫(xiě)法三:select后嵌套子查詢(xún) SELECT e.ename,(SELECT d.dname FROM dept d WHERE d.deptno = e.deptno) AS dept FROM emp e ;
4.union
可將查詢(xún)結(jié)果集相加
SELECT ename,job FROM emp e WHERE job = 'CLERK' UNION SELECT ename,job FROM emp e WHERE job = 'SALESMAN'
而且兩張不相干的表中數(shù)據(jù)也能夠因此拼接在一起。(但是列數(shù)保持一致)
SELECT ename FROM emp UNION SELECT dname FROM dept
5.*limit
重點(diǎn)中的重點(diǎn),分頁(yè)查詢(xún)?nèi)克?/p>
1)limit是mysql中特有的,其他數(shù)據(jù)庫(kù)中沒(méi)有,但是Oracle中有一個(gè)相同的機(jī)制叫rownum。
2)limit取結(jié)果集中的部分?jǐn)?shù)據(jù)
3)語(yǔ)法機(jī)制:limit startIndex,length
startindex表示起始位置,從0開(kāi)始,0表示第一條數(shù)據(jù)。
length表示取幾個(gè)。
4)limit是sql語(yǔ)句中最后一個(gè)執(zhí)行的環(huán)節(jié)。
(當(dāng)前頁(yè)數(shù)-1)* 頁(yè)的大小 = 當(dāng)前頁(yè)起始下標(biāo)
推薦學(xué)習(xí):mysql視頻教程