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;
相关推荐
哥本哈士奇16 小时前
数据仓库笔记 第六篇:PSA 层 SCD2 处理方式
数据仓库
曹牧19 小时前
Java Web 开发:servlet-mapping‌
java·数据仓库·hive·hadoop
juniperhan19 小时前
Flink 系列第20篇:Flink SQL 语法全解:从 DDL 到 DML,窗口、聚合、列转行一网打尽
大数据·数据仓库·分布式·sql·flink
菜鸟小码2 天前
HDFS 数据块(Block)机制深度解析:从原理到实战
大数据·hadoop·hdfs
早睡早起早日毕业2 天前
大数据管理与应用系列丛书《大数据平台架构》之第4章 Hadoop 分布式文件系统 (HDFS)
大数据·hadoop·架构
哥本哈士奇2 天前
数据仓库笔记 第五篇:Data Mart 层(数据集市)
数据仓库
juniperhan2 天前
Flink 系列第18篇:Flink 动态表、连续查询与 Changelog 机制
java·大数据·数据仓库·分布式·flink
juniperhan2 天前
Flink 系列第19篇:深入理解 Flink SQL 的时间语义与时区处理:从原理到实战
java·大数据·数据仓库·分布式·sql·flink
早睡早起早日毕业2 天前
大数据管理与应用系列丛书《大数据平台架构》之第2章 分布式理论基础:大数据系统的架构基石
大数据·hadoop·分布式·架构
菜鸟小码2 天前
HDFS 常用命令大全:从入门到生产实战
大数据·hadoop·hdfs