sql中的左联接和左外部联接有什么区别?


回答 1:

在SQL中,左联接返回第一个表中的所有记录以及第二个表中的匹配记录。 如果第二个表中没有匹配项,则仅返回第一个表中的记录。

基本上,左联接和左外部联接没有区别。 左外部联接也返回与左联接相同的结果。 在某些数据库中,左联接称为左外部联接。

左联接的语法

SELECT column_name(F)table1LEFT JOIN table2 ON table1.column_name = table2.column_name;

左外部联接的语法

SELECT column_name(F)table1LEFT OUTER JOIN table2 ON table1.column_name = table2.column_name;

因此,您可以看到,唯一的区别是外部关键字,它是可选的。 这两个查询返回相同的结果。

图片下方可以帮助您了解其他类型的联接之间的区别。

图像源,有关更多信息,请访问-W3Schools在线Web教程和codeproject.com


回答 2:

没有区别。 他们是一样的。

术语上的混乱可能来自外部连接的不对称性。

对于内部联接,只有一种味道:A JOIN B = B JOINA。

对于外部联接,有以下三种形式:您可以采用左侧操作数的所有行,然后在右侧操作数中没有匹配的行时进行空扩展(这是左侧外部联接),或者可以采用所有形式。右操作数的行,然后在左操作数中没有匹配的行时进行空扩展(这是一个右外部联接),或者您可以采用每个操作数的所有行,当没有匹配的行时进行空扩展在另一个操作数中(这是完全外部联接)。 只说外部联接*则不够清晰。 相反,我们说的是左外联接,右外联接或全外联接。 并且由于与INNER JOIN(=不带限定符的JOIN)进行比较时没有歧义,因此语言设计人员决定将OUTER关键字设置为可选。

*我不记得OUTER JOIN是否允许使用语法; 它可能是FULL OUTER JOIN的同义词。


回答 3:

左联接和左外部联接之间没有区别。两者都是相同的联接。如果您想了解更多信息,请检查以下链接。您将获得链接中包含方案的所有内容。也可以将问题发布给作者。

内部联接|外部联接|左外部联接|右外部联接|关于联接的现实生活场景