以下SQL查询是相同的:
SELECT column1, column2
FROM table1, table2
WHERE table1.id = table2.id;
SELECT column1, column2
FROM table1 JOIN table2
ON table1.id = table2.id;
肯定会在我尝试过的每个DBMS上产生相同的查询计划。
但是我经常听到或听到这样的观点:一个绝对比另一个更好。当然,这些主张从不带有任何解释。
在我工作的地方,第二版似乎受到了大多数其他开发人员的青睐,因此我也倾向于这种风格,以最大程度地减少意外。但是在我的心中,我真的在想第一个(因为这是我最初学习它的方式)。
这些形式中的一种在客观上是否优于另一种?如果没有,那么为什么一个使用另一个?