SQL - 正确加入 VS a = b in where 子句

SQL - proper join VS a = b in where clause

我只是希望有人能告诉我下面两个查询之间的效率是否存在差异。


查询 1

SELECT A.CUSTOMER, B.INVOICE FROM CUS A

JOIN INV B ON
A.CUS_ID = B.CUS_ID

WHERE
B.INV_DATE > '2015-09-06'

查询 2

SELECT A.CUSTOMER, B.INVOICE FROM CUS A, INV B

WHERE A.CUS_ID = B.CUS_ID AND

B.INV_DATE > '2015-09-06'

我很确定查询 1 会更有效率,但我希望有人能确认。

SELECT * FROM table1, table2, ... 语法对于几个表来说是可以的,但是随着表的数量的增加,它变得越来越难读(不一定是数学上准确的语句)表增加。

JOIN 语法更难编写(在开始时),但它明确了哪些条件会影响哪些表。这使得犯错变得更加困难。

此外,如果所有连接都是 INNER,那么两个版本是等价的。然而,当你在声明中的任何地方加入 OUTER 时,事情就变得复杂多了,这几乎可以保证你写的东西不会是 查询您认为自己写了什么。

您的性能问题已得到解答:没有区别。