0


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

  1. 交集 要获取两个表的交集,你可以使用INNER JOIN或者JOIN:
SELECT * 
FROM table1
JOIN table2 ON table1.column_name = table2.column_name;

也可以使用 INTERSECT 关键字

SELECT * FROM table1
INTERSECT
SELECT * FROM table2;
  1. 并集 要获取两个表的并集,你可以使用UNION:
SELECT * FROM table1
UNION
SELECT * FROM table2;
  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;

也可以使用 except关键字

SELECT * FROM table1
except
SELECT * FROM table2;

本文转载自: https://blog.csdn.net/weixin_42493346/article/details/136260156
版权归原作者 甲乙寄几 所有, 如有侵权,请联系我们删除。

“hive中如何取交集并集和差集”的评论:

还没有评论