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中左连接与右连接的区别的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:老板不要肥肉,转转请注明出处:https://www.dingdanghao.com/article/465748.html