JOIN 實際回傳的結果
JOIN 透過比對兩個資料表的共享欄位,來建立並回傳新的資料列。不同類型的 JOIN 決定了未找到匹配的資料列如何處理:INNER JOIN 會捨棄這些資料列;LEFT JOIN 會保留左側資料表的所有內容,並以 NULL 填補空缺;而 FULL OUTER JOIN 則會保留兩側的所有資料。
學習者很少在語法上遇到困難。他們真正的挑戰在於,錯誤的 JOIN 操作可能會悄無聲息地回傳看似合理的結果。例如,一份基於客戶與訂單的 INNER JOIN 報告,會默默地排除所有尚未下訂單的客戶。我們應避免在教學中過度關注資料庫特定的行為,例如優化器提示、索引策略和供應商語法差異,這些內容更適合放在平台文件而非概念教學模組中。
本課程分為七個場景:一個解釋為何資料表需要分離,兩個場景透過共享鍵建立 INNER JOIN,兩個場景探討 LEFT JOIN 及結果中 NULL 的意義,一個場景介紹 FULL OUTER JOIN 及其真正需要使用的時機,最後一個場景則揭示了三個會導致錯誤結果卻不報錯的常見錯誤。

