mysql自連線和外連線知識點及相關案例
阿新 • • 發佈:2020-07-08
#三、自連線
#查詢員工的名字、上級的名字
SELECT
e.last_name,
m.last_name
FROM
employees e
JOIN employees m ON e.manager_id = m.employee_id
WHERE
e.last_name LIKE '%k%'; #二、外連線
/*
應用場景;用於查詢一個表中有,另一個表中沒有的記錄 特點:
1、外連線的查詢結果為主表中的所有記錄
如果從表中有和它匹配的,則顯示匹配的值、
如果從表中沒喲和它匹配的,則顯示null
外連線查詢結果=內連線結果+主表中有而從表中沒有的記錄2、左外連線,left join左邊的是主表
右外連線,right join右邊的 是主表
3、左外和右外交換兩個表的順序,可以實現同樣的效果 */
#引入:查詢沒有男朋友的女神名、
USE girls; SELECT
*
FROM
beauty; SELECT
*
FROM
boys; #左外連線
SELECT
b. NAME,
bo.*
FROM
beauty b
LEFT OUTER JOIN boys bo ON b.boyfriend_id = bo.id
WHERE
bo.id IS NULL; #案例1、查詢那個部門沒有員工SELECT
de.*, e.employee_id
FROM
departments de
LEFT OUTER JOIN employees e ON de.department_id = e.department_id
WHERE
e.employee_id IS NULL;