hive表的全关联full join用法

这篇具有很好参考价值的文章主要介绍了hive表的全关联full join用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:实际开发中需要用到全关联的用法,之前没遇到过,现在记录一下。需求是找到两张表的并集。

全关联的解释如下;

hive表的全关联full join用法,hive,hadoop,数据仓库,sql

下面建两张表进行测试

test_a表的数据如下
hive表的全关联full join用法,hive,hadoop,数据仓库,sql
test_b表的数据如下;
hive表的全关联full join用法,hive,hadoop,数据仓库,sql

写第一个full join 的SQL进行查询测试
select * from 
    pdata_dynamic.test_a a
full join
    pdata_dynamic.test_b b
on a.id=b.id;

查询结果显示如下;
把两个表的结果拼在一行了,匹配不上的都用NULL值进行填充了,显然不是我要的结果
hive表的全关联full join用法,hive,hadoop,数据仓库,sql

优化好的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,😄
hive表的全关联full join用法,hive,hadoop,数据仓库,sql文章来源地址https://www.toymoban.com/news/detail-675347.html

到了这里,关于hive表的全关联full join用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [unity] Enable Full StackTraces 的方法,打开泄漏检查的全堆栈显示

    如果 unity 老是报错: A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces 此时需要打开泄漏检查的全堆栈显示(比较耗费性能,平时不要打开) 方法如下:在Editor中加入一个类文件,内容如下: 这样就给Unity编辑器的菜单里增加 Custom 菜单,可随时启用、

    2024年02月08日
    浏览(54)
  • MySQL多表查询内连接外连接详解,join、left join、right join、full join的使用

    目录 1、多表查询概览 1.1、分类 1.2、外连接的分类 1.3、常用的SQL语法标准 2、内外联接案例 2.1、初始化表 2.2、内连接 2.3、外连接案例 2.4、全连接案例 2.5、union和union all 2.6、实现MySQL全连接 2.7、内外连接面试基础 2.8、SQL99多表查询新特性 1.1、分类 可以根据3个角度进行分类

    2024年02月05日
    浏览(65)
  • [SQL挖掘机] - 全连接: full join

    在sql中,join是将多个表中的数据按照一定条件进行关联的操作。全连接(full join)是一种连接类型,它会返回所有满足连接条件的行,同时还包括那些在左表和右表中没有匹配行的数据。 在进行全连接时,会将左表和右表中的所有行进行组合,不管它们是否有匹配的条件。

    2024年02月15日
    浏览(41)
  • Full Join多个表与Union All多个表

    在Hive中(其他类似SQL,比如PostgreSQL可能也存在此问题),当对多张表(3张及以上)进行full join时,会存在每张表的主键都是唯一,但当full join后,会发现主键可能有重复。 2.1. 插入数据 2.2. 查询SQL以及问题 当执行如上查询SQL时,会发现其中 id = 4 的数据有重复,如下图所示

    2024年02月16日
    浏览(50)
  • SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析

    SQL RIGHT JOIN返回右表(table2)中的所有记录以及左表(table1)中的匹配记录。如果没有匹配,则左侧的结果为0条记录。 注意:在某些数据库中,RIGHT JOIN被称为RIGHT OUTER JOIN。 在本教程中,我们将使用著名的Northwind示例数据库。 以下是“Orders”表的部分选择: OrderID C

    2024年02月05日
    浏览(55)
  • Elasticsearch之join关联查询

    目录 一、join总述 1、关系类比 2、使用限制 3、性能问题 二、Mapping 1、举例说明  2、mapping释义 三、插入数据 1、插入父文档 2、插入子文档 四、关联查询 1、has_parent查询(父查子) 3、has_child查询(子查父) 目录 一、join总述 1、关系类比 2、使用限制 3、性能问题 二、Mapp

    2024年02月03日
    浏览(40)
  • 8-MySQL查询高级用法,数据表的关联关系

    1.分组 group by 详情见,发布的第七篇博客文章,7- MySQL函数 2.排序 order by 说明: 在MySQL中,ORDER BY是一种用于对查询结果进行排序的。它可以根据一列或多列的值,以升序或降序的方式对查询结果进行排序,使得查询者可以更加方便 地查看、分析和处理数据。 使用OR

    2024年02月08日
    浏览(55)
  • Flink多流处理之join(关联)

    Flink的 API 中只提供了 join 的算子,并没有 left join 或者 right join ,这里我们就介绍一下 join 算子的使用,其实 join 算子底层调用的就是 coGroup ,具体原理这里就不过多介绍了,如果感兴趣可以看我前面发布的文章Flink多流操作之coGroup. 数据源 代码 结果 这个 API 使用起来还是比较简单

    2024年02月13日
    浏览(37)
  • Sqoop数据导入到Hive表的最佳实践

    将数据从关系型数据库导入到Hive表是大数据领域中的常见任务之一,Sqoop是一个强大的工具,可以帮助实现这一目标。本文将提供Sqoop数据导入到Hive表的最佳实践,包括详细的步骤、示例代码和最佳建议,以确保数据导入过程的高效性和可维护性。 Sqoop是一个开源工具,用于

    2024年01月23日
    浏览(49)
  • SQL两表/多表关联查询--JOIN语句

    一、基础概念 SQL中的关联是通过JOIN实现的,JOIN有几种类型,包括INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN等。 二、INNER JOIN详解 INNER JOIN是最常用的关联方式之一,它 返回 两个表中共同存在的数据行 。 其语法格式如下: 下面是一个实际的例子: 以上代码可以

    2024年01月18日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包