Le seguenti query SQL sono le stesse:
SELECT column1, column2
FROM table1, table2
WHERE table1.id = table2.id;
SELECT column1, column2
FROM table1 JOIN table2
ON table1.id = table2.id;
E certamente si traducono negli stessi piani di query su ogni DBMS che abbia mai provato.
Ma ogni tanto leggo o ascolto un'opinione secondo cui uno è decisamente migliore dell'altro. Naturalmente, queste affermazioni non sono mai giustificate da una spiegazione.
Dove lavoro, la seconda versione sembra essere favorita dalla maggior parte degli altri sviluppatori, quindi tendo anche a quello stile per ridurre al minimo la sorpresa. Ma nel mio cuore, sto davvero pensando al primo (poiché è così che l'ho imparato in origine).
Una di queste forme è oggettivamente migliore dell'altra? In caso contrario, quali sarebbero i motivi per usarne uno rispetto all'altro?