MySQL的七種join圖解

一、內連接

描述:連個表共有的記錄
在這裏插入圖片描述

select * from tb1_emp a inner join tb1_dept b on a.deptId = b.id;

二、左連接

描述:求A表所有記錄以及AB表共有的記錄(B表沒有的字段補null)
在這裏插入圖片描述

select * from tb1_emp a left join tb1_dept b on a.deptId = b.id;

三、右連接

描述: 求B表所有記錄以及AB表共有的記錄(A表沒有的字段補null)
在這裏插入圖片描述

select * from tb1_emp a right join tb1_dept b on a.deptId = b.id;

四、左外連接

描述:從AB表中求A表獨有的記錄

在這裏插入圖片描述

select * from tb1_emp a left join tb1_dept b on a.deptId = b.id where b.id is null;

五、右外連接

描述:從AB表中求B表中獨有的記錄

在這裏插入圖片描述

select * from tb1_emp a right join tb1_dept b on a.deptId = b.id where a.deptId is null;

六、全連接

描述:查詢AB表中所有的記錄

在這裏插入圖片描述

select * from tb1_emp a left join tb1_dept b on a.deptId = b.id
union
select * from tb1_emp a right join tb1_dept b on a.deptId = b.id

七、全外連接

描述:查詢A表獨有的記錄和B表獨有的記錄

在這裏插入圖片描述

select * from tb1_emp a left join tb1_dept b on a.deptId = b.id where b.id is null
union
select * from tb1_emp a right join tb1_dept b on a.deptId = b.id where a.deptId is null;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章