1. 程式人生 > >知識點理解:MySQL內連線、外連線的區別

知識點理解:MySQL內連線、外連線的區別

1、內連線:等值連線、非等值連線、自連線

2、外連線:左連線、右連線

理解MySQL什麼時候該使用內連線、什麼時候該使用外連線?

(本文例子,來自動力節點)

1、內連線:顯示薪水大於2000的員工資訊,並顯示所屬的部門名稱

select 
	e.ename,e.sal,d.dname 
from 
	emp e join dept d
on 	
	e.deptno = d.deptno   #在建立連線時,一定要寫上兩表的關聯條件
where 
	e.sal > 2000;       # 其實兩表通過上面的條件連線,已經建立的一個更大一點表,現在提出挑選條件

2、外連線(右連線):顯示員工資訊,並顯示所屬的部門名稱,如果某一個部門沒有員工,那麼該部門也必須顯示出來

select 
		e.ename,d.deptno 
from 	
		emp e right join dept d   #右連線
on
		e.deptno = d.deptno;

3、外連線(左連線):顯示員工資訊,並顯示所屬的部門名稱,如果某一個部門沒有員工,那麼該部門也必須顯示出來

select 
		e.ename,d.deptno 
from 	
		 dept d left join emp e   #左連線
on
		e.deptno = d.deptno;

4、總結:

             a) 內連線:將兩表中相關聯的記錄,按照關聯條件連線起來;

             b) 左連線:以左邊的表為基準,和右邊的表連線,將左表中沒有和右表產生關聯的記錄也顯示出來;

             c) 右連線:以右邊的表為基準,和左邊的表連線,將右表中沒有和左表產生關聯的記錄也顯示出來。

使用資料庫下載:https://download.csdn.net/my