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;
相关推荐
IvanCodes8 小时前
五、Hadoop集群部署:从零搭建三节点Hadoop环境(保姆级教程)
大数据·hadoop·分布式
IvanCodes14 小时前
六、Hive 分桶
大数据·hive
IvanCodes14 小时前
七、深入 Hive DDL:管理表、分区与洞察元数据
数据仓库·hive·hadoop
七七-d14 小时前
配置Hadoop集群-上传文件
大数据·hadoop·eclipse
若兰幽竹15 小时前
【HBase整合Hive】HBase-1.4.8整合Hive-2.3.3过程
数据库·hive·hbase
lix的小鱼16 小时前
安装Hadoop并运行WordCount程序
大数据·linux·hadoop
RestCloud17 小时前
ETL 数据集成平台与数据仓库的关系及 ETL 工具推荐
数据仓库·etl·cdc·数据集成平台
Freedom℡20 小时前
使用scp命令拷贝hadoop100中文件到其他虚拟机中
数据库·hadoop·spark
依年南台20 小时前
Hadoop的目录结构和组成
大数据·hadoop·分布式
依年南台1 天前
安装Hadoop并运行WordCount程序
大数据·hadoop