SQL JOIN

跨表查詢核心

JOIN 用來把兩張或多張表依關聯欄位組合。常見有 INNER、LEFT、RIGHT、FULL。當資料被拆到不同表時,JOIN 就是把商業問題重新拼起來的關鍵。

Example 1 - INNER JOIN

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID = Customers.CustomerID;

Example 2 - LEFT JOIN 查沒有下單的客戶

SELECT c.CustomerID, c.CustomerName, o.OrderID
FROM Customers c
LEFT JOIN Orders o ON c.CustomerID = o.CustomerID
WHERE o.OrderID IS NULL;

Example 3 - JOIN + 聚合

SELECT c.CustomerName, COUNT(o.OrderID) AS OrderCount
FROM Customers c
LEFT JOIN Orders o ON c.CustomerID = o.CustomerID
GROUP BY c.CustomerName
ORDER BY OrderCount DESC;
學習順序: 先熟悉 INNER JOIN 與 LEFT JOIN,大多數商業查詢已足夠應付。