6.2 — LEFT JOIN 实战
你将学习
- 如何使用
LEFT JOIN
包含一个表中的所有行,即使另一个表中没有匹配项 - 与 Excel 中处理缺失值的 VLOOKUP 比较
- 实际应用示例
示例表
表 sales:
ProductID | Amount |
---|---|
101 | 120 |
102 | 80 |
103 | 50 |
表 products:
ProductID | ProductName |
---|---|
101 | Apples |
102 | Oranges |
104 | Bananas |
为什么使用 LEFT JOIN?
在 Excel 中,如果 VLOOKUP 找不到匹配项,您会得到 #N/A
。在 SQL 中,LEFT JOIN
保留左表的所有行,并为缺失的匹配项填充 NULL
。
示例:显示所有销售记录,即使产品信息缺失
sql
SELECT s.ProductID, p.ProductName, s.Amount
FROM sales s
LEFT JOIN products p
ON s.ProductID = p.ProductID;
- 显示所有销售记录,即使
products
表中没有匹配的产品 - 缺失的产品名称将显示为
NULL
筛选缺失匹配项
您可以使用 WHERE
查找没有匹配项的行:
sql
SELECT s.ProductID, s.Amount
FROM sales s
LEFT JOIN products p
ON s.ProductID = p.ProductID
WHERE p.ProductID IS NULL;
- 显示在
products
表中没有匹配产品的销售记录
关键要点
LEFT JOIN
保留第一个(左侧)表的所有行- 用于查找缺失数据或保留左表中不匹配的行
下一步
接下来,您将学习如何连接两个以上的表进行高级分析