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

版权声明:最终解释权归属Hern所有,恒! https://blog.csdn.net/qq_36761831/article/details/83317064

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。

关系图:

SQL LEFT JOIN

RIGHT JOIN(连接右表)

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

语法

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

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

关系图:

SQL RIGHT 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.列名;

关系图:

SQL FULL OUTER JOIN

猜你喜欢

转载自blog.csdn.net/qq_36761831/article/details/83317064