0


hive之full outer join(全连接)使用

文章目录

前言

  • full outer join结合了 LEFT JOINRIGHT JOIN 的结果,并使用NULL值作为两侧缺失匹配结果。

全连接


语法 :

SELECT 
    table1.column_name(s),table2.column_name(s)FROM table1 
    FULLOUTERJOIN table2 
ON table1.column_name = table2.column_name;
  • 相当于:left join + union + right join
SELECT 
    table1.column_name(s),table2.column_name(s)FROM table1 
    LEFTOUTERJOIN table2 
ON table1.column_name = table2.column_name
UNIONSELECT 
    table1.column_name(s),table2.column_name(s)FROM table1 
    RIGHTOUTERJOIN table2 
ON table1.column_name = table2.column_name;
  • 样例 :
selectCASEWHEN cast(yz.province_code as string)ISNOTNULLTHEN yz.province_code ELSE hy.access_code ENDAS pro_code,CASEWHEN yz.vehicle_no ISNOTNULLTHEN yz.vehicle_no  ELSE hy.vehicle_no ENDAS veh_no,CASEWHEN cast(yz.plate_color_code as string)ISNOTNULLTHEN yz.plate_color_code ELSE hy.vehicle_color ENDAS plate_color,CASEWHEN
MD5(CONCAT(yz.vehicle_no, yz.plate_color_code, yz.province_code, yz.owner_name
          ))ISNULLTHEN  MD5(CONCAT(hy.vehicle_no, hy.vehicle_color, hy.access_code, hy.owner_name
          ))WHEN  MD5(CONCAT(hy.vehicle_no, hy.vehicle_color, hy.access_code, hy.owner_name
                      
          ))ISNULLTHEN MD5(CONCAT(yz.vehicle_no, yz.plate_color_code, yz.province_code, yz.owner_name
          ))ELSE MD5(CONCAT(yz.vehicle_no, yz.plate_color_code, yz.province_code, yz.owner_name
          ))ENDAS crc_md5,
          ${month1} as diff_month,CASEWHEN yz.vehicle_no ISNULLAND yz.plate_color_code ISNULLTHEN1-- A数据集存在,B数据集不存在WHEN hy.vehicle_no ISNULLAND hy.vehicle_color ISNULLTHEN3-- A数据集不存在,B数据集存在WHEN MD5(CONCAT(hy.vehicle_no, hy.vehicle_color, hy.access_code, hy.owner_name))!= MD5(CONCAT(yz.vehicle_no, yz.plate_color_code, yz.province_code, hy.owner_name))THEN2-- 鉴权值不一样的车辆数据ELSE4-- 相等的情况下ENDAS flag
from yz fullouterjoin
hy ON 
yz.vehicle_no = hy.vehicle_no and yz.plate_color_code = hy.vehicle_color
HAVING  flag !=4

总结

如果此篇文章有帮助到您, 希望打大佬们能

关注

点赞

收藏

评论

支持一波,非常感谢大家!
如果有不对的地方请指正!!!

参考1


本文转载自: https://blog.csdn.net/weixin_42326851/article/details/137234161
版权归原作者 lfwh 所有, 如有侵权,请联系我们删除。

“hive之full outer join(全连接)使用”的评论:

还没有评论