|
|
51CTO旗下网站
|
|
移动端

图解SQL中JOIN的各种用法

JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。

作者:佚名来源:Java知音|2019-04-16 15:18

一、概要

JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。

图片是很容易被接受和理解,所以尝试使用图片来说明一下。

二、JOIN分类

客官:小二,上JOIN分类!

……

小二:客官,新鲜出炉的JOIN分类图片来喽。

三、JOIN分类详解

客官:小二,速速详细道来!

小二:现在让小二来给您详细介绍。

INNER JOIN:

仅仅返回两个表中,匹配列相同的列值,所在行的数据。

 

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

LEFT OUTER 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
分享:
大家都在看
猜你喜欢

订阅专栏+白菜送彩金59网站大全

CentOS文件服务的最佳实战

CentOS文件服务的最佳实战

涨薪跳槽必备技能
共15章 | 追风蚂蚁

79人订阅学习

小白网工宝典

小白网工宝典

一次搞定思科华为
共15章 | 思科小牛

294人订阅学习

防火墙大佬修炼手册

防火墙大佬修炼手册

网工达人必备
共20章 | 捷哥CCIE

324人订阅学习

读 书 +白菜送彩金59网站大全

Expert C# 2005 Business Objects中文版

本书描述了怎样应用面向对象的概念来进行.NET应用程序的架构、设计和开发。作者将重点放在了面向业务的对象,即业务对象和怎样在包括Web和...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

博聚网