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

图解SQL中JOIN的各类用法

发布时间:2019-04-17 10:21:43 所属栏目:编程 来源:佚名
导读:一、提纲 JOIN对付打仗过数据库的人,这个词都不生疏,并且许多人很清晰各类JOIN,尚有许多人对这个领略也不是很透彻,这次就说说JOIN操纵。 图片是很轻易被接管和领略,以是实行行使图片来声名一下。 二、JOIN分类 客长:小二,上JOIN分类! 小二:客长,

一、提纲

JOIN对付打仗过数据库的人,这个词都不生疏,并且许多人很清晰各类JOIN,尚有许多人对这个领略也不是很透彻,这次就说说JOIN操纵。

图片是很轻易被接管和领略,以是实行行使图片来声名一下。

二、JOIN分类

客长:小二,上JOIN分类!

……

小二:客长,奇怪出炉的JOIN分类图片来喽。

图解SQL中JOIN的各类用法

三、JOIN分类详解

客长:小二,速速具体道来!

小二:此刻让小二来给您具体先容。

INNER JOIN:

仅仅返回两个表中,匹配列沟通的列值,地址行的数据。

图解SQL中JOIN的各类用法 

  1. SELECT * FROM Table1 t1 INNER JOIN Table2 t2 ON t1.Col1 = t2.Col1 

LEFT OUTER JOIN:

左外毗连:返回左表的全部数据,而且在右表中不能匹配的列值,其坐在行则行使空值。

图解SQL中JOIN的各类用法 

  1. SELECT * FROM Tables1 t1 LEFT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2 

LEFT OUTER JOIN - WHERE NULL:

返回和右表不匹配的全部数据行

  1. SELECT * FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t2.Col1 IS NULL 

RIGHT OUTER JOIN:

右外毗连:返回右表的全部数据,而且在左表中不能匹配的列值,其所做在行则行使空值。

  1. SELECT * FROM Tables1 t1 RIGHT OUTER JOIN Table2 t2 on t1.Col1 = t2.Col2 

RIGHT OUTER JOIN – WHERE NULL:

返回和左表不匹配的全部数据行。

  1. SELECT * FROM Table1 t1 RIGHT OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 WHERE t1.Col1 IS NULL 

FULL OUTER JOIN:

完全毗连可看作是左外毗连和右外毗连功效之和,返回两个表的全部数据,假如匹配列的值在两个表中匹配,那么返回数据行,不然返回空值。

  1. SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.Col1 = t2.Col1 

FULL OUTER JOIN – WHERE NULL:

返回内毗连以外的数据行,即匹配列坐在行以外的全部数据。

  1. SELECT * FROM Table1 t1 FULL OUTER JOIN Table2 t2 ON t1.ID = t2.ID WHERE t1.ID IS NULL OR t2.ID IS NULL 

CROSS JOIN:

交错毗连不必要任何毗连前提。这个会把两个表的的数据举办笛卡尔积操纵。

  1. SELECT * FROM Table1 t1 CROSS JOIN Table2 t2  

小二:小二已经先容完毕,客长,请慢用。

【编辑保举】

  1. 用Select * 举办SQL查询的七宗罪
  2. 一次诡异的线上数据库的死锁题目排查进程
  3. 记着:永久不要在MySQL中行使UTF-8
  4. 对付MySQL你必必要相识的锁常识
  5. 一条SQL语句在MySQL中是怎样执行的?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:河北网)

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

    热点阅读