Les requêtes SQL suivantes sont les mêmes:
SELECT column1, column2
FROM table1, table2
WHERE table1.id = table2.id;
SELECT column1, column2
FROM table1 JOIN table2
ON table1.id = table2.id;
Et aboutissez certainement aux mêmes plans de requête sur chaque SGBD que j'ai jamais essayé.
Mais de temps en temps, je lis ou entends un avis selon lequel l’un est définitivement meilleur que l’autre. Naturellement, ces affirmations ne sont jamais étayées par une explication.
Là où je travaille, la deuxième version semble être favorisée par la majorité des autres développeurs, et je suis donc aussi orientée vers ce style pour minimiser les surprises. Mais dans mon cœur, je pense vraiment au premier (puisque c'est comme ça que je l'ai appris à l'origine).
L'une de ces formes est-elle objectivement meilleure que l'autre? Si non, quelles seraient les raisons pour utiliser l'un sur l'autre?