原創 Hive left join 技巧總結


根據工作中經驗總結出來   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  出來的 結果是錯誤的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM