当前位置:   article > 正文

hive中如何取交集并集和差集

hive中如何取交集并集和差集
  1. 交集
    要获取两个表的交集,你可以使用INNER JOIN或者JOIN:
SELECT * 
FROM table1
JOIN table2 ON table1.column_name = table2.column_name;
  • 1
  • 2
  • 3

也可以使用 INTERSECT 关键字

SELECT * FROM table1
INTERSECT
SELECT * FROM table2;
  • 1
  • 2
  • 3
  1. 并集
    要获取两个表的并集,你可以使用UNION:
SELECT * FROM table1
UNION
SELECT * FROM table2;
  • 1
  • 2
  • 3
  1. 差集
    要获取两个表的差集,你可以使用LEFT JOIN或RIGHT JOIN,然后过滤掉匹配的行:
-- 左表中有的而右表中没有的
SELECT table1.*
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name
WHERE table2.column_name IS NULL;

-- 右表中有的而左表中没有的
SELECT table2.*
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name
WHERE table1.column_name IS NULL;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

也可以使用 except关键字

SELECT * FROM table1
except
SELECT * FROM table2;
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/164062
推荐阅读
  

闽ICP备14008679号