Site icon 时鹏亮的Blog

MySQL-解释左连接,右连接,内连接,全连接

请知悉:本文最近一次更新为 10年 前,文中内容可能已经过时。

左连接和右连接者是外部链接,也就是区别于内部连接,它对不满足连接条件的行并不是像内部连接一样将数据完全过滤掉,而是保留一部分数据,行数不会减少;左连接只要左边表中有记录,数据就能被检索出来,而右边有的记录必要在左边表中有的记能才能被检索出来.

右连接就是只要右边表中有记录,数据就能检索出来.

内连接只会选出两张表中互相匹配的记录,因此,这会导致有时我们需要的记录没有包含进来.内连接是两个表中都必须有连接字段的对应值的记录,数据才能检索出来.

全连接刚会回返两个表中的所有记录。

以下部分摘自:http://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html
连接可分为以下几类:
内连接。(典型的连接运算,使用像 = 或 <> 之类的比较运算符)。包括相等连接和自然连接
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students 和 courses 表中学生标识号相同的所有行。

外连接。外连接可以是左向外连接、右向外连接或完整外部连接。
在FROM子句中指定外连接时,可以由下列几组关键字中的一组指定:
LEFT JOIN 或 LEFT OUTER JOIN。
左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
RIGHT JOIN或RIGHT OUTER JOIN。
右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

FULL JOIN 或 FULL OUTER JOIN。
完整外部连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

交叉连接。交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。


如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《MySQL-解释左连接,右连接,内连接,全连接》相关的博文:

Exit mobile version