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

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

也可以使用 INTERSECT 关键字

bash 复制代码
SELECT * FROM table1
INTERSECT
SELECT * FROM table2;
  1. 并集
    要获取两个表的并集,你可以使用UNION:
bash 复制代码
SELECT * FROM table1
UNION
SELECT * FROM table2;
  1. 差集
    要获取两个表的差集,你可以使用LEFT JOIN或RIGHT JOIN,然后过滤掉匹配的行:
bash 复制代码
-- 左表中有的而右表中没有的
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关键字

bash 复制代码
SELECT * FROM table1
except
SELECT * FROM table2;
相关推荐
时差95310 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
苍老流年11 小时前
Hive中各种Join的实现
数据仓库·hive·hadoop
静听山水11 小时前
Hive:UDTF 函数
hive
EDG Zmjjkk12 小时前
Hive 查询(详细实操版)
数据仓库·hive·hadoop
lzhlizihang13 小时前
【Hive sql 面试题】求出各类型专利top 10申请人,以及对应的专利申请数(难)
大数据·hive·sql·面试题
Hsu_kk13 小时前
Hive 查询各类型专利 Top 10 申请人及对应的专利申请数
数据仓库·hive·hadoop
静听山水13 小时前
Hive 的数据存储单元结构
hive
大数据编程之光13 小时前
Hive 查询各类型专利 top10 申请人及专利申请数
大数据·数据仓库·hive·hadoop
杰克逊的日记13 小时前
Hive详解
数据仓库·hive·hadoop
上辈子杀猪这辈子学IT13 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian