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有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章
left join ,right join ,inner join,outer join,union all,union有啥区别?怎么用?
mysql中inner join和outer join有啥区别?