INNER join和OUTER join有啥区别[重复]

Posted

技术标签:

【中文标题】INNER join和OUTER join有啥区别[重复]【英文标题】:What is difference between INNER join and OUTER join [duplicate]INNER join和OUTER join有什么区别[重复] 【发布时间】:2013-10-16 12:42:02 【问题描述】:

内连接和外连接的区别。我正在使用两个表并想从两个表中获取数据,所以我们应该使用哪种类型的连接,我们可以解决我们的问题

【问题讨论】:

【参考方案1】:

INNER JOIN:当两个表中至少有一个匹配时返回所有行

LEFT JOIN:从左表返回所有行,从右表返回匹配的行

RIGHT JOIN:从右表返回所有行,从左表返回匹配的行

FULL JOIN:当其中一个表匹配时返回所有行

【讨论】:

我喜欢你解释它的简单方式。【参考方案2】:

内连接匹配键上的表,但外连接只匹配一侧的键。 例如,当您使用左外连接时,查询会带来整个左侧表并将右侧与左表主键匹配,而没有匹配的地方为空。

【讨论】:

【参考方案3】:

这是理解连接的最好和最简单的方法:

感谢本文作者HERE

【讨论】:

【参考方案4】:

内连接 - 使用任一等效查询的内连接给出两个表的交集,即它们共有的两行。 左外连接 - 左外连接将给出 A 中的所有行,以及 B 中的所有公共行。 全外连接 - 全外连接将为您提供 A 和 B 的并集,即 A 中的所有行和 B 中的所有行。如果 A 中的某些内容在 B 中没有对应的数据,则 B 部分为空,反之亦然反之亦然。 检查this

【讨论】:

以上是关于INNER join和OUTER join有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

INNER join和OUTER join有啥区别[重复]

left join ,right join ,inner join,outer join,union all,union有啥区别?怎么用?

mysql中inner join和outer join有啥区别?

inner join 和outer join的区别

SQL中inner join,outer join和cross join的区别

SQL中inner join,outer join和cross join的区别