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 |
以上就是sql中左连接与右连接的区别的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com