正在準備工作環境...
各種 JOIN
上一課學的 INNER JOIN 只會保留「兩邊都有配對到的」。但有時候我們想保留全部。
LEFT JOIN
- LEFT JOIN = 左邊表全保留,右邊沒配對到的欄位就是 NULL
- 比喻:考試簽到表(左)vs 成績表(右);有人簽到但沒交卷,成績就空白。
RIGHT JOIN
- 跟 LEFT JOIN 相反:右邊全留,左邊缺的變 NULL
- 實務上很少用,因為交換表的位置用 LEFT JOIN 就好
IS NULL 小技巧
搭配 LEFT JOIN,可以找出「右邊沒有配對到」的資料,非常實用。
範例
找出沒有下過訂單的客戶:
三表 JOIN — 訂單帶明細帶商品名:
AI 協作:學了這個,跟 AI 怎麼配合?
INNER JOIN 和 LEFT JOIN 的差別,決定了「漏掉的資料你看不看得到」。
你的人類優勢:
- 你知道分析目的:只看有訂單的客戶(INNER)還是要包含沒下單的(LEFT)
- 你能判斷 NULL 值出現是正常(LEFT JOIN 的特性)還是資料有問題
可以這樣跟 AI 說:
我要找出「所有客戶」以及他們的訂單數,包含還沒下過單的客戶,請用 LEFT JOIN。
練習題
互動示範
DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
挑戰任務
Task 1
查出所有客戶及他們的訂單,包含沒下過訂單的客戶
Task 2
查出沒有下過訂單的客戶
Task 3
查出每筆訂單買了哪些商品及數量
← BackNext Lesson →