当前位置:  开发笔记 > 编程语言 > 正文

SQL JOIN:ON vs Equals

如何解决《SQLJOIN:ONvsEquals》经验,为你挑选了2个好方法。

以下是否有任何显着差异?

SELECT a.name, b.name FROM a, b WHERE a.id = b.id AND a.id = 1

SELECT a.name, b.name FROM a INNER JOIN b ON a.id = b.id WHERE a.id = 1

SO用户是否优先选择其中一个?



1> Lars Mæhlum..:

没有区别,但是当你有一个带有额外where子句进行过滤的大型多连接查询时,第二个的可读性要好得多.
分离join子句和filter子句是一件好事:)



2> Joel Coehoor..:

前者是ANSI 89语法,后者是ANSI 92.

对于该特定查询,没有区别.但是,使用前者,您无法在复杂查询中将过滤器与连接条件分开,并且指定LEFT与RIGHT与INNER的语法通常会令人困惑,尤其是如果您必须在不同的数据库供应商之间来回切换.我根本不喜欢旧的语法.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有