根據工作中經驗總結出來 left join 常用的 使用注意點: A Left join B on A.id = B.id
第一種情況:
如果 A 表 的 id 存在 重復, B 表的 id 不存在 重復, 那么 select * from A Left join B on A.id = B.id, SQL 執行的結果 數據條數 和 A 表 保持一致;
第二種情況:
如果 A 表 的 id 不存在 重復, B 表的 id 不存在 重復, 那么 select * from A Left join B on A.id = B.id, SQL 執行的結果 數據條數 和 A 表 保持一致;
第三種情況:
如果 A 表 的 id 不存在 重復, B 表的 id 存在 重復, 那么 select * from A Left join B on A.id = B.id, SQL 執行的結果 數據條數 和 A 表 不保持一致,SQL出來的條數比A表數據多;
總結: A Left join B on A.id = B.id
1:不管 A表 id 重復不重復,只要 B 表 id 不重復,使用 left join 結果 准確;
2:如果B表 id 存在 重復,使用 A left join B 之前,務必 對 B 表 進行 id 的 distinct 或者 group by 操作,保證 B 表 的 id 在 執行 left join 之前, id 保持 唯一性; 否則,left join 出來的 結果是錯誤的。