加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

Apache Flink 漫谈系列 - JOIN 算子

发布时间:2018-11-24 09:48:22 所属栏目:教程 来源:孙金城
导读:聊什么 在《Apache Flink 漫谈系列 - SQL概览》中我们介绍了JOIN算子的语义和基本的使用方式,介绍过程中大家发现Apache Flink在语法语义上是遵循ANSI-SQL标准的,那么再深思一下传统数据库为啥需要有JOIN算子呢?在实现原理上面Apache Flink内部实现和传统

上面介绍的INNER JOIN、OUTER JOIN都是不同表之间的联接查询,自联接是一张表以不同的别名做为左右两个表,可以进行如上的INNER JOIN和OUTER JOIN。如下看一个INNER 自联接:

  1. mysql> SELECT * FROM student l JOIN student r where l.no = r.no; 
  2. +------+-------+------+------+-------+------+ 
  3. | no   | name  | sex  | no   | name  | sex  | 
  4. +------+-------+------+------+-------+------+ 
  5. | S001 | Sunny | M    | S001 | Sunny | M    | 
  6. | S002 | Tom   | F    | S002 | Tom   | F    | 
  7. | S003 | Kevin | M    | S003 | Kevin | M    | 
  8. +------+-------+------+------+-------+------+ 
  9. 3 rows in set (0.00 sec)  

7. 不等值联接

这里说的不等值联接是SQL92语法里面的ON子句里面只有不等值联接,比如:

  1. mysql> SELECT 
  2.     ->   s.c_no, s.score, no, name 
  3.     -> FROM score s RIGHT JOIN student stu ON stu.no != s.c_no; 
  4. +------+-------+------+-------+ 
  5. | c_no | score | no   | name  | 
  6. +------+-------+------+-------+ 
  7. | C01  |    80 | S001 | Sunny | 
  8. | C01  |    80 | S002 | Tom   | 
  9. | C01  |    80 | S003 | Kevin | 
  10. | C02  |    98 | S001 | Sunny | 
  11. | C02  |    98 | S002 | Tom   | 
  12. | C02  |    98 | S003 | Kevin | 
  13. | C03  |    76 | S001 | Sunny | 
  14. | C03  |    76 | S002 | Tom   | 
  15. | C03  |    76 | S003 | Kevin | 
  16. | C01  |    78 | S001 | Sunny | 
  17. | C01  |    78 | S002 | Tom   | 
  18. | C01  |    78 | S003 | Kevin | 
  19. | C02  |    88 | S001 | Sunny | 
  20. | C02  |    88 | S002 | Tom   | 
  21. | C02  |    88 | S003 | Kevin | 
  22. | C03  |    68 | S001 | Sunny | 
  23. | C03  |    68 | S002 | Tom   | 
  24. | C03  |    68 | S003 | Kevin | 
  25. +------+-------+------+-------+ 
  26. 18 rows in set (0.00 sec) 

上面这示例,其实没有什么实际业务价值,在实际的使用场景中,不等值联接往往是结合等值联接,将不等值条件在WHERE子句指定,即, 带有WHERE子句的等值联接。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读