以下是否有任何显着差异?
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用户是否优先选择其中一个?
没有区别,但是当你有一个带有额外where子句进行过滤的大型多连接查询时,第二个的可读性要好得多.
分离join子句和filter子句是一件好事:)
前者是ANSI 89语法,后者是ANSI 92.
对于该特定查询,没有区别.但是,使用前者,您无法在复杂查询中将过滤器与连接条件分开,并且指定LEFT与RIGHT与INNER的语法通常会令人困惑,尤其是如果您必须在不同的数据库供应商之间来回切换.我根本不喜欢旧的语法.