Mysql多表查詢
轉(zhuǎn)自多表聯(lián)合查詢
學生表數(shù)據(jù)
大學表數(shù)據(jù)
-
內(nèi)連接
表間主鍵和外鍵相連蝗罗,取得鍵值相同的記錄.
從雙方的表中取得鍵值相同的記錄- 顯式內(nèi)連接
select * from student s inner join college c on s.collegeId = c.collegeId - 隱式內(nèi)連接
select * from student s, college c where s.collegeId = c.collegeId
查詢結(jié)果:
+——+————-+
| name | collegeName |
+——+————-+
| 張三 | 清華 |
| 李四 | 北大 |
| 王五 | 浙大 |
+——+————-+
從雙方的表中取得鍵值相同的記錄 - 顯式內(nèi)連接
-
外連接
- 左外鏈接
在左表的數(shù)據(jù)中几颜,加入鍵值相同的右表數(shù)據(jù)的字段判沟。
select * from student s left join college c on s.collegeId = c.collegeId
查詢結(jié)果:| name | collegeName |
+——+————-+
| 張三 | 清華 |
| 李四 | 北大 |
| 王五 | 浙大 |
| 趙六 | NULL |
| 錢七 | NULL |
+——+————-+
包含了全部左表數(shù)據(jù)+符合條件的右表數(shù)據(jù)
- 右外鏈接
在右表的數(shù)據(jù)中镀琉,加入鍵值相同的左表數(shù)據(jù)的字段视译。
select * from student s right join college c on s.collegeId = c.collegeId
查詢結(jié)果:
- 左外鏈接
| name | collegeName |
+——+————-+
| 張三 | 清華 |
| 李四 | 北大 |
| 王五 | 浙大 |
| NULL | 廈大 |
+——+————-+