阅读导航 一、概要 二、JOIN分类 三、JOIN分类详解 一、概要 JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。 图片是很容易被接受和理解,所以尝试使用图片来说明一下。 二、
阅读导航
一、概要
二、JOIN分类
三、JOIN分类详解
一、概要
JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。
图片是很容易被接受和理解,所以尝试使用图片来说明一下。
二、JOIN分类
客官:小二,上JOIN分类!
……
小二:客官,新鲜出炉的JOIN分类图片来喽。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021559-10f09ffbd1524b8ea2a95cc24094099f.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
三、JOIN分类详解
客官:小二,速速详细道来!
小二:现在让小二来给您详细介绍。
INNER JOIN:
仅仅返回两个表中,匹配列相同的列值,所在行的数据。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021559-233e46f4b86149ea87d04ba8f053dbcc.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>INNER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1
LEFT OUTER JOIN:
左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021559-b4fd8b9a10784903ac96da4959a84274.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Tables1 t1 <span>LEFT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>on</span> t1.Col1 = t2.Col2
LEFT OUTER JOIN - WHERE NULL:
返回和右表不匹配的所有数据行
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021600-799b58df76ff4fc095acfcb00fa1a241.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>LEFT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1 <span>WHERE</span> t2.Col1 <span>IS</span> NULL
RIGHT OUTER JOIN:
右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021600-79158ac6dcbd4bffa63b2ccdd730ab3e.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Tables1 t1 <span>RIGHT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>on</span> t1.Col1 = t2.Col2
RIGHT OUTER JOIN – WHERE NULL:
返回和左表不匹配的所有数据行。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021601-70797371146e4f0695a9ca6361f9f098.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>RIGHT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1 <span>WHERE</span> t1.Col1 <span>IS</span> NULL
FULL OUTER JOIN:
完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021601-7f0323ffa210467ab0391a5bb59862a8.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>FULL</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1
FULL OUTER JOIN – WHERE NULL:
返回内连接以外的数据行,即匹配列坐在行以外的所有数据。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021602-c668d9e088844bca9be486e6066c3cd8.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> <span>*</span> <span>FROM</span> Table1 t1 <span>FULL</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.ID <span>=</span> t2.ID <span>WHERE</span> t1.ID <span>IS</span> <span>NULL</span> <span>OR</span> t2.ID <span>IS</span> <span>NULL</span>
CROSS JOIN:
交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。
![[数据库基础]图解JOIN](/inc/test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F331267%2F201306%2F20021603-6f5343ec77584bbdb68bd9c8b2c6a1b1.png&refer=http%3A%2F%2Fblog.csdn.net%2Ferror4o4%2Farticle%2Fdetails%2F9411119)
<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>CROSS</span> <span>JOIN</span> Table2 t2
小二:小二已经介绍完毕,客官,请慢用。准备洗漱睡觉了。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号