Apache Flink 漫谈系列(10) - JOIN LATERAL
发布时间:2018-12-20 03:29:47 所属栏目:教程 来源:孙金城
导读:副标题#e# 一、聊什么 上一篇《Apache Flink 漫谈系列 - JOIN算子》我们对最常见的JOIN做了详尽的分析,本篇介绍一个特殊的JOIN,那就是JOIN LATERAL。JOIN LATERAL为什么特殊呢,直观说因为JOIN的右边不是一个实际的物理表,而是一个VIEW或者Table-valued
查询结果: 我们发现虽然C001的Customer有三笔订单,但是我们查询的TOP1信息。
查询结果: 如上我们都完成了查询需求,我们在来看一下执行Plan,如下: 我们直观发现完成相同功能,使用CROSS APPLY进行查询,执行Plan简单许多。 2. 功能方面 在功能方面INNER JOIN本身在ANSI-SQL中是不允许 JOIN 一个Function的,这也是SQL Server当时引入CROSS APPLY的根本原因。我们以一个SQL Server中DMV(相当于TVF)查询为例:
查询结果: 五、Apache Flink对 LATERAL的支持 前面我花费了大量的章节来向大家介绍ANSI-SQL和传统数据库以SQL Server为例如何支持LATERAL的,接下来我们看看Apache Flink对LATERAL的支持情况。 1. Calcite (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |