一个有趣的SQL:


select a.* FROM A a left outer join B b on a.qq = b.qq
WHERE b.qq is null;


恩,很好。
WHERE b.qq is null;
.........
??
这不是查空得吗,查空的是干毛用啊?

这是查A有B没有的数据。
什么意思呢?
首先,我们先来看一下 left join 后是什么样的结果。画了一张图,还请不要嫌弃
hive的巧用:查询两个表中不一样的数据

现在有 A \ B 两张表,用 left join 关联后就会变成这样:

hive的巧用:查询两个表中不一样的数据

而在WHERE b.qq is null; 查出的则是这个蓝框中的红框部分内的:

hive的巧用:查询两个表中不一样的数据

 

懂了吗  大佬就是大佬 

end

 

转载:https://www.imooc.com/article/17676 

相关文章:

  • 2021-10-24
  • 2022-01-12
  • 2021-11-23
  • 2020-07-06
  • 2021-11-22
  • 2021-11-15
  • 2021-11-30
猜你喜欢
  • 2021-11-04
  • 2022-12-23
  • 2021-10-29
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
相关资源
相似解决方案