连接操作_连接类型_left | 学习笔记

简介: 快速学习连接操作_连接类型_left

开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段:连接操作_连接类型_left】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/690/detail/12100


连接操作_连接类型_left

 

连接类型

全外连接就是由左边数据集没有连接上的数据、右边数据集没有连接上的数据以及中间连接上的数据这三部分数据所组成的结果集。

如果只包含左边没有连接上的数据和中间连接上的数据叫做左外连接。

如果只包含右边没有连接上的数据和中间连接上的数据叫做右外连接。

1.左外连接

左外连接是全外连接的一个子集,全外连接中包含左右两边数据集没有连接上的数据,而左外连接只包含左边数据集中没有连接上的数据,如图所示:

image.png

2.右外连接

右外连接和左外连接刚好相反,左外是包含左侧未连接的数据,和两个数据集中连接上的数据,而右外是包含右侧未连接的数据,和两个数据集中连接上的数据,如图:

image.png

接下来通过代码介绍左外连接和右外连接:

@Test

def leftRight() : unit = {

//左连接

person.join(cities,

person.col( colName = "cityId" ) === cities.col( colName = "id""),

joinType = "left")

.show()

/sql 语句

spark.sql( sqlText = "select p.id, p.name,c.name " +

"from person p left join cities c ”+

"on p.cityId = c.id" )

.show()

//右连接

person.join(cities,

person.col( colName = "cityId" ) === cities.col( colName = "id""),

joinType = "right")

.show()

/sql 语句

spark.sql( sqlText = "select p.id, p.name,c.name " +

"from person p right join cities c ”+

"on p.cityId = c.id" )

.show()

}

运行代码得到结果集:

左外连接结果集:

image.png

image.png

左外连接显示出左编数据集 Danial 的数据。

右外连接结果集:

image.png

右外连接结果集显示的是右边数据集未被连接的 city,shanghai。

我们所说的连接方式都包含连接条件,连接条件是不变的,在同样的连接条件下,结果集的表现有几种情况就是所说的几种连接类型。

相关文章
|
10月前
|
存储
LabVIEW读取修改TDMS文件中的组名和通道名group name andchannel name
LabVIEW读取修改TDMS文件中的组名和通道名group name andchannel name
108 3
|
弹性计算 安全 关系型数据库
介绍两种连接方式
介绍两种连接方式
212 1
|
SQL 大数据 API
连接操作_连接类型_fullouter | 学习笔记
快速学习连接操作_连接类型_fullouter
119 0
连接操作_连接类型_fullouter | 学习笔记
|
SQL 大数据 开发者
连接操作_连接类型_inner | 学习笔记
快速学习连接操作_连接类型_inner
117 0
连接操作_连接类型_inner | 学习笔记
|
SQL 分布式计算 大数据
连接操作_连接类型_cross | 学习笔记
快速学习连接操作_连接类型_cross
164 0
连接操作_连接类型_cross | 学习笔记
|
SQL 大数据 开发者
连接操作_连接类型_semi&;anti | 学习笔记
快速学习连接操作_连接类型_semi&;anti
205 0
连接操作_连接类型_semi&;anti | 学习笔记
连接(INNER JOIN)实例
连接(INNER JOIN)实例
95 0
|
网络虚拟化 数据安全/隐私保护 网络架构