隐藏

数据库基础——JOIN图解

发布:2021/6/22 14:46:13作者:管理员 来源:本站 浏览次数:1125

阅读导航


一、概要


二、JOIN分类


三、JOIN分类详解


一、概要


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


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


二、JOIN分类


客官:小二,上JOIN分类!


……


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


JOIN


三、JOIN分类详解


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


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


INNER JOIN:


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


InnerJOIN


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




LEFT OUTER JOIN:


左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值。


LEFTOUTERJOIN


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




LEFT OUTER JOIN - WHERE NULL:


返回和右表不匹配的所有数据行


LEFTOUTERJOIN-WHERENULL


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




RIGHT OUTER JOIN:


右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值。


RIGHTOUTERJOIN


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






RIGHT OUTER JOIN – WHERE NULL:


返回和左表不匹配的所有数据行。


RIGHTOUTERJOIN–WHERENULL


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






FULL OUTER JOIN:


完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值。


FULLOUTERJOIN


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




FULL OUTER JOIN – WHERE NULL:


返回内连接以外的数据行,即匹配列坐在行以外的所有数据。


FULLOUTERJOIN–WHERENULL


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:


交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。


CrossJOIN


SELECT * FROM Table1 t1 CROSS JOIN Table2 t2




小二:小二已经介绍完毕,客官,请慢用。准备洗漱睡觉了。