知識點理解:MySQL內連線、外連線的區別
阿新 • • 發佈:2018-12-05
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