sql的left join和right join的区别

LEFT JOIN和RIGHT JOIN是SQL中JOIN操作的两种类型,它们的主要区别在于选择哪个表作为基本表。

LEFT JOIN:以左表为基准来关联右表,结果集包含左表所有的数据以及其关联的右表数据,如果右表没有匹配的关联数据,那么对应的结果为空。如下示例:

SELECT *

FROM TableA

LEFT JOIN TableB ON TableA.id = TableB.id;

在这个例子中,TableA是左表。 即使在TableB中没有相应id值的行,查询仍将返回TableA的所有行,并在TableB的相关列中显示null值。

RIGHT JOIN:以右表为基准来关联左表,结果集包含右表所有的数据以及其关联的左表数据,如果左表没有匹配的关联数据,那么对应的结果为空。如下示例:

SELECT *

FROM TableA

RIGHT JOIN TableB ON TableA.id = TableB.id;

在这个例子中,TableB是右表。 查询也将返回2个表中所有的数据,无论是否有匹配的行。

总体来说,LEFT JOIN保留左表中所有的数据,右表中没有匹配的数据赋值为NULL。RIGHT JOIN保留右表中所有的数据,左表中没有匹配的数据赋值为NULL。如果您想包括两个表中的所有行并作为联接结果返回,则应该使用FULL OUTER JOIN或UNION操作符。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容