、什么是外連接,和內連接有什么區別?
內連接:
假設A和B表進行連接,使用內連接的話,凡是A表和B表能夠匹配上的記錄查詢出來,這就是內連接。AB兩張表沒有主副之分,兩張表是平等的。
外連接:
假設A和B表進行連接,使用外連接的話,AB兩張表中有一張表是主表,一張表是副表,主要查詢主表中的數據,捎帶著查詢副表,當副表中的數據沒有和主表中的數據匹配上,副表自動模擬出NULL與之匹配。
2、外連接的分類?
左外連接(左連接):表示左邊的這張表是主表。
右外連接(右連接):表示右邊的這張表是主表。
左連接有右連接的寫法,右連接也會有對應的左連接的寫法。外連接最重要的特點是:主表的數據無條件的全部查詢出來。
3、我們通過員工表(emp)和部門表(dept)來演示外連接
員工表
部門表
案例:找出哪個部門沒有員工?
從需求中我們就可以發現一定是用部門表作為主表,所以sql語句如下:
SELECT
d.*
FROM
dept d
LEFT JOIN
emp e
ON
d.deptno = e.deptno
WHERE
e.ename IS NULL;
沒有員工的部門記錄