Apache Flink 漫谈系列 - SQL概览
UNION ALL 将两个表归并起来,要求两个表的字段完全同等,包罗字段范例、字段次序,语义对应相关代数的Union,只是相关代数是Set荟萃操纵,会有去一再操纵,UNION ALL 不举办去重,如下所示: 1. SQL 示例 我们简朴的将customer_tab查询2次,将查询功效归并起来,如下:
2. Result 3. 出格声名 UNION ALL 对功效数据不举办去重,假如想对功效数据举办去重,传统数据库必要举办UNION操纵。 九、UNION UNION 将两个流给归并起来,要求两个流的字段完全同等,包罗字段范例、字段次序,并其UNION 差异于UNION ALL,UNION会对功效数据去重,与相关代数的Union语义同等,如下: 1. SQL 示例 我们简朴的将customer_tab查询2次,将查询功效归并起来,如下:
我们发明完全一样的表数据举办 UNION之后,数据是被去重的,UNION之后的数据并没有增进。 2. Result 3. 出格声名 UNION 对功效数据举办去重,在现实的实现进程必要对数据举办排序操纵,以是非须要去重环境请行使UNION ALL操纵。 十、JOIN JOIN 用于把来自两个表的行连系起来形成一个宽表,Apache Flink支持的JOIN范例:
JOIN与相关代数的Join语义沟通,详细如下: 1. SQL 示例 (JOIN) INNER JOIN只选择满意ON前提的记录,我们查询customer_tab 和 order_tab表,将有订单的客户和订单信息选择出来,如下:
2. Result 3. SQL 示例 (LEFT JOIN) LEFT JOIN与INNER JOIN的区别是当右表没有与左边相JOIN的数据时辰,右边对应的字段补NULL输出,语义如下: 对应的SQL语句如下(LEFT JOIN):
仔细的读者也许发明上面T2.ColC是添加了前缀T2了,这里必要声名一下,当两张表有字段名字一样的时辰,我必要指定是从谁人表内里投影的。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |