背景:实际开发中需要用到全关联的用法,之前没遇到过,现在记录一下。需求是找到两张表的并集。
全关联的解释如下;
下面建两张表进行测试
test_a表的数据如下
test_b表的数据如下;
写第一个full join 的SQL进行查询测试
select * from
pdata_dynamic.test_a a
full join
pdata_dynamic.test_b b
on a.id=b.id;
查询结果显示如下;
把两个表的结果拼在一行了,匹配不上的都用NULL值进行填充了,显然不是我要的结果
文章来源:https://www.toymoban.com/news/detail-675347.html
优化好的full join的SQL写法如下
select
case when
a.id is null then b.id
else
a.id
end
id ,
case when
a.name is null then b.name
else
a.name
end
name,
case when
a.age is null then b.age
else
a.age
end
age,
case when
a.hight is null then b.hight
else
a.hight
end
hight
from
pdata_dynamic.test_a a
full join
pdata_dynamic.test_b b
on a.id=b.id;
查询完显示如下,nice,😄
文章来源地址https://www.toymoban.com/news/detail-675347.html
到了这里,关于hive表的全关联full join用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!