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;
相关推荐
Justice Young13 小时前
Hive第四章:HIVE Operators and Functions
大数据·数据仓库·hive·hadoop
LF3_14 小时前
hive,Relative path in absolute URI: ${system:user.name%7D 解决
数据仓库·hive·hadoop
德彪稳坐倒骑驴16 小时前
Hive SQL常遗忘的命令
hive·hadoop·sql
Justice Young17 小时前
Hive第六章:Hive Optimization and Miscellaneous
数据仓库·hive·hadoop
Justice Young18 小时前
Hive第五章:Integeration with HBase
大数据·数据仓库·hive·hbase
Justice Young18 小时前
Hive第三章:HQL的使用
大数据·数据仓库·hive·hadoop
AC赳赳老秦1 天前
Python 爬虫进阶:DeepSeek 优化反爬策略与动态数据解析逻辑
开发语言·hadoop·spring boot·爬虫·python·postgresql·deepseek
zgl_200537791 天前
ZGLanguage 解析SQL数据血缘 之 标识提取SQL语句中的目标表
java·大数据·数据库·数据仓库·hadoop·sql·源代码管理
yumgpkpm1 天前
AI评判:信创替代对Cloudera CDH CDP Hadoop大数据平台有何影响?
大数据·hive·oracle·flink·kafka·hbase·cloudera
sheji34162 天前
【开题答辩全过程】以 基于Hadoop教育平台的设计与实现为例,包含答辩的问题和答案
大数据·hadoop·分布式