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