首頁 > 資料庫 > mysql教程 > MySQL子查詢詳細教學

MySQL子查詢詳細教學

WBOY
發布: 2022-11-02 20:19:20
轉載
1825 人瀏覽過

這篇文章為大家帶來了關於mysql的相關知識,其中主要介紹了關於子查詢的相關內容,包括了where後面嵌套子查詢、from後面嵌套子查詢、在select後面巢狀子查詢等等內容,下面一起來看一下,希望對大家有幫助。

推薦學習:mysql影片教學

#定義:select語句中巢狀select語句,被巢狀的select語句是子查詢。

子查詢可以出現在:

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 後面巢狀子查詢

找出每個員工所在的部門名稱

写法一:看作临时表
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

可將查詢結果集相加

SELECT ename,job FROM emp e WHERE job = 'CLERK'
UNION
SELECT ename,job FROM emp e WHERE job = 'SALESMAN'
登入後複製

而且兩張不相干的表中資料也能夠因此拼接在一起。 (但是列數保持一致)

SELECT ename FROM emp 
UNION
SELECT dname FROM dept
登入後複製

5.*limit

重點中的重點,分頁查詢全靠它

1)limit是mysql中特有的,其他資料庫中沒有,但是Oracle中有一個相同的機制叫rownum。

2)limit取結果集中的部分資料

3)語法機制:limit startIndex,length

startindex表示起始位置,從0開始,0表示第一條數據。

length表示取幾個。

4)limit是sql語句中最後一個執行的環節。

(目前頁數-1)* 頁的大小= 當前頁起始下標

推薦學習:mysql影片教學

以上是MySQL子查詢詳細教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jb51.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板