JOIN vs.INNER JOIN和FULL OUTER JOIN


27

我知道INNER JOIN和之间有区别FULL OUTER JOIN,我可以看到,但是以下两个区别是什么:JOIN ... ON...INNER JOIN...ON...和仍然JOIN...ON...vsFULL OUTER JOIN...ON...

原因是我认为也许只是在使用,JOIN正在搞乱我正在处理的查询,该查询已张贴在SO上,链接到此处的问题

那么,实际设置操作本身之间的语法差异到底是什么?

谢谢,


1
“交叉发布”是在不同的论坛中发布相同的问题。发布链接是正常且可取的。
choroba

好的,我将发布一个指向问题的链接,我的代码返回很多重复项,这让我发疯了……我什至还没有早上喝咖啡,大声笑
MCP_infiltrator

4
@MCP_infiltrator看看大概目前最好的解释:codinghorror.com/blog/2007/10/...
MKK

如果真正的问题是您的代码返回的重复项太多,则可能要问另一个问题,这是重点。您可能想发布您的代码。过去,当我为有重复问题的人们提供帮助时,通常是由于错误的连接条件,或者偶尔是由于SQL数据模型和关系数据模型之间的映射不佳。
Walter Mitty

@WalterMitty,您好,问题在SO中发布,我认为我的联接是问题所在,但另一方面,我也很好奇,我只花了6个月的时间编写SQL和自学,所以链接在问题中。
MCP_infiltrator

Answers:


33

JOIN并且INNER JOIN相同,internal关键字是可选的,因为除非另外指定,否则所有联接均被视为内部联接。之间的差JOINFULL OUTER JOIN是相同的之间的差INNER JOINFULL OUTER JOIN

INNER JOIN仅当表A中的行与表B中的许多行匹配时,An 才会返回匹配的行,表A的行将与表B的每一行重复,反之亦然。

A FULL OUTER JOIN将返回内部联接执行的所有操作,返回每个表中所有不匹配的行。


5
谢谢你,我不知道JOININNER JOIN是等效的语句。
MCP_infiltrator

7
最佳实践是显式编写INNER JOIN以避免混淆。
尼尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.