贝利信息

sql中左连接与右连接的区别

日期:2024-05-10 00:00 / 作者:下次还敢
SQL 中左连接和右连接主要区别在于连接结果中优先显示哪个表的数据。左连接优先显示左表,若右表无匹配行则填充 NULL;右连接优先显示右表,若左表无匹配行则填充 NULL。

SQL 中左连接与右连接的区别

在 SQL 中,左连接和右连接是连接两个表的两种不同类型。它们的主要区别在于连接结果中优先显示哪个表的数据。

左连接

右连接

比较

特征 左连接 右连接
优先表 左表 右表
空值 左表空值填充为 NULL 右表空值填充为 NULL
用途 显示左表中的所有数据,即使右表中没有匹配的行 显示右表中的所有数据,即使左表中没有匹配的行

示例

考虑以下两个表:

左表 右表
id id name
1 1 John
2 2 Mary
3 3 Bob

左连接查询:

SELECT * FROM 左表 LEFT JOIN 右表 ON 左表.id = 右表.id;

结果:

id name
1 John
2 Mary
3 NULL

右连接查询:

SELECT * FROM 右表 RIGHT JOIN 左表 ON 左表.id = 右表.id;

结果:

id name
1 John
2 Mary
3 Bob NULL