前言:
昨天我们讲了记录关联(笛卡尔积),也学习了类似内连接的流查询,类似数据库左连接的操作,数据库查询,今天我们来学习,记录集连接,来综合讲讲实现类似,数据库的内连接、左连接、右连接的操作,记录集连接。
一、记录集连接
记录集连接就像数据库的左连接、右连接、内连接、外连接。 需要注意的是,因为我们是对数据流进行操作,因此我们在进行记录集连接操作前,需要先将数据进行排序。
从记录集连接的定义我们可以看出,记录集连接是操作两张表的数据,因此有步骤,并且需要指定,连接对应步骤的关键字段。其实懂数据库的小伙伴,一下子就知道了。这个界面的操作实现了类似SQ里面表t1和表t2的左连接、右连接、内连接等一系列的效果。其中的连接类型就是来控制做什么连接操作的。 select * from t1 left(right/inner/full outer) join t2 on t1.dep_id=t2.id
二、任务实操
弄清楚对应记录集连接的语法后,我们来完成这么一个任务,从Excel中读取employees和departments,进行内关联、左关联、右关联、全关联,把数据保持至Excel。
因为我们要做连接操作,因此我们最终的转换的输入部分包括两个Excel表输入加两个排序,然后就是记录集连接,将我们四种连接的结果输出至EXCEL中,最终的转换如下图所示。
以左连接为例,我们选择两个步骤,然后连接类型选择left outer然后指定对应的连接关键字段,然后再连接一个Excel输出,即可将我们左连接的结果完成输出了,其他连接也是类似,只是需要注意的是我们进行连接前,需要先进行排序操作。
这是我们最终的转换效果,我们运行转换后即可获得我们需要的结果啦。