SQL'WHERE'与'ON'(内部连接)[重复]
Posted
技术标签:
【中文标题】SQL\'WHERE\'与\'ON\'(内部连接)[重复]【英文标题】:SQL 'WHERE' versus 'ON' (inner join) [duplicate]SQL'WHERE'与'ON'(内部连接)[重复] 【发布时间】:2013-04-18 14:41:01 【问题描述】:在执行 SQL 查询时,
“WHERE”和“ON”之间的性能是否有任何显着(或根本没有)差异?
我知道对于 LEFT JOIN 或 RIGHT JOIN,两者之间的结果集存在显着差异。
INNER JOIN 怎么样?
对我的每个选择都使用“ON”而不是最后使用“WHERE”有什么缺点吗?
【问题讨论】:
你有没有尝试到search? It's the first result on Google, and it's even right on this site。 :( 不,但请使用 ON 但不要使用IN
运算符;在这种情况下,JOIN 会快很多...
这是另一个被高度评价的possible dupe
我认为这里有一个类似的帖子,解释得很好:***.com/questions/1018822/…
【参考方案1】:
在性能方面,它们应该是相同的。但是,请参阅this 文章,了解行业资深人士对可读性和维护友好性的看法。
虽然旧式连接仍然有效,但您不能执行 outer join
anymore
【讨论】:
【参考方案2】:两者的执行计划相同。不过很多人更喜欢使用ON
。
【讨论】:
以上是关于SQL'WHERE'与'ON'(内部连接)[重复]的主要内容,如果未能解决你的问题,请参考以下文章