Die folgenden SQL-Abfragen sind identisch:
SELECT column1, column2
FROM table1, table2
WHERE table1.id = table2.id;
SELECT column1, column2
FROM table1 JOIN table2
ON table1.id = table2.id;
Und mit Sicherheit ergeben sich auf jedem DBMS, das ich je ausprobiert habe, die gleichen Abfragepläne.
Aber ab und zu lese oder höre ich die Meinung, dass einer definitiv besser ist als der andere. Natürlich werden diese Behauptungen niemals mit einer Erklärung belegt.
Wo ich arbeite, scheint die zweite Version von den meisten anderen Entwicklern bevorzugt zu werden, und so tendiere ich auch zu diesem Stil, um Überraschungen zu minimieren. Aber in meinem Herzen denke ich wirklich an das Erste (da ich es ursprünglich so gelernt habe).
Ist eine dieser Formen objektiv besser als die andere? Wenn nicht, was wären die Gründe, eins übereinander zu verwenden?