Hive SQL Join关联查询

Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学习!

▼往期内容汇总:


一、Hive Join语法规则

背景

根据数据库的三范式设计要求和日常工作习惯来说,  我们通常不会设计一张大表把所有类型的数据都放在一起,而是不同类型的数据设计不同的表存储。

比如在设计一个订单数据表的时候,可以将客户编号作为一个外键和订单表建立相应的关系。而不可以在订单表中添加关于客户其它信息(比如姓名、所属公司等)的字段。

在这种情况下,有时需要基于多张表查询才能得到最终完整的结果; 

join语法的出现是用于根据两个或多个表中的列之间的关系,从这些表中共同组合查询数据。

二、Hive 主要的Join方式

Hive join语法规则

在Hive中,使用最多,最重要的两种join分别是:inner join  (内连接)  、  left join  (左连接)

table_reference:是join查询中使用的表名。

table_factor:与table_reference相同,是联接查询中使用的表名。
join_condition: join查询关联的条件,如果在两个以上的表上需要连接,  则使用AND关键字。

  •  join查询数据环境准备

    为了更好的练习、学习掌握Hive中的join语法,  下面我们去创建3张表并且加载数据到表中。

  • 表1:  employee 员工表;
  • 2:  employee_address 员工住址信息表;
  • 3:  employee_connection 员工联系方式表;

 

 inner join 内连接

内连接是最常见的一种连接,它也被称为普通连接,其中inner可以省略:  inner join == join; 

只有进行连接的两个表中都存在与连接条件相匹配的数据才会被留下来。

 

left join 左连接

left join中文叫做是左外连接(Left Outer Join)或者左连接,其中outer可以省略,  left outer join是早期的写法。    

left join的核心就在于left左。左指的是join关键字左边的表,  简称左表。

通俗解释: join时以左表的全部数据为准,  右边与之关联;左表数据全部返回,右表关联上的显示返回,  关联不上的显示null返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值