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

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

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。