sql - HIVE 检查表 1 中的数据,而表 2 中没有

标签 sql hive

我希望创建一个 HIVE SQL 查询来查找表 1 中不存在于表 2 中的所有值。我知道我需要使用连接,但是我无法弄清楚如何在这种情况下实现它......

谢谢,
詹姆士

例如:

Table1

url                  number
xe.com               5
google.com           2
ebay.co.uk           6

Table2

url                  visits
facebook.com         8
google.com           4
ebay.co.uk           15

因此,例如查询应该返回 Table1 中存在于 Table2 中的所有值,即
url                  number         visits
google.com           2              4
ebay.co.uk           6              15

最佳答案

LEFT JOIN 将返回来自 Table1 的所有行不管有没有匹配。如果来自 Table2 的列不匹配将具有值 NULL - 这些是你想要的行:

SELECT Table1.url, Table1.number
FROM Table1
LEFT OUTER JOIN Table2 ON Table1.url = Table2.url
WHERE Table2.url IS NULL

关于sql - HIVE 检查表 1 中的数据,而表 2 中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359398/

相关文章:

mysql - sql group by 带分组条件

mysql - 如何对 MySQL 的 varchar 值进行排序

hadoop - 在 hive 表下看不到 HDFS 文件中的数据

hadoop - 如何在oozie工作流程中传递Hive设置参数

hadoop - 安装 ambari 后 Hive 显示问题

sql - 在 Hive/SQL 中获取具有最大值的行?

mysql - MySQL中的反向连接

mysql - 与不同数据类型的多对多关系

SQL 选择或插入返回 ID

sql - 如何使用 HIVE 在 WHERE 语句中对 OR 子句进行分组