SQL ——JOIN(连接)、INNER JOIN(表中至少一个匹配)、LEFT JOIN(连接左表)、RIGHT JOIN(连接右表)、FULL OUTER JOIN(两表其中一个匹配)

xiaoxiao2022-06-11  31

JOIN(连接)

JOIN 用于根据两个或多个表中的列之间的关系(这些表之间的共同字段),连接起来,从这些表中查询数据。

INNER JOIN(表中至少一个匹配)

在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

注意:INNER JOIN 与 JOIN 是相同的。

语法

SELECT 列名称 FROM 表名称1 INNER JOIN 表名称2 ON 表名称1.列名称 = 表名称2.列名称;

SELECT 列名称 FROM 表名称1 JOIN 表名称2 ON 表名称1.列名称 = 表名称2.列名称;

 关系图

LEFT JOIN(连接左表)

LEFT JOIN 关键字会从左表 (表1) 那里返回所有的行,即使在右表 (表2) 中没有匹配的行。

语法

SELECT 列名 FROM 表名1 LEFT JOIN 表名2 ON 表名1.列名 = 表名2.列名;

注意:在某些数据库中,LEFT JOIN 称为 LEFT OUTER JOIN。

关系图:

RIGHT JOIN(连接右表)

RIGHT JOIN 关键字从右表(表名2)返回所有的行,即使左表(表名1)中没有匹配。如果左表中没有匹配,则结果为 NULL。

语法

SELECT 列名 FROM 表名1 RIGHT JOIN 表名2 ON 表名1.列名 = 表名2.列名;

注意:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。

关系图:

FULL OUTER JOIN(两表其中一个匹配)

FULL OUTER JOIN 关键字只要左表(表名1)和右表(表名2)其中一个表中存在匹配,则返回行。

FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。

语法

SELECT 列名 FROM 表名1 FULL OUTER JOIN 表名2 ON 表名1.列名 = 表名2.列名;

关系图:

转载请注明原文地址: https://www.6miu.com/read-4931899.html

最新回复(0)