Restituiscono gli stessi risultati perché sono semanticamente identici. Questo:
select *
from A, B
...è (sussultare) la sintassi ANSI-89. Senza una clausola WHERE per collegare le tabelle insieme, il risultato è un prodotto cartesiano. Che è esattamente ciò che offre anche l'alternativa:
select *
from A
cross join B
...ma il CROSS JOIN è sintassi ANSI-92.
Informazioni sulle prestazioni
Non c'è alcuna differenza di prestazioni tra di loro.
Perché usare ANSI-92?
Il motivo per utilizzare la sintassi ANSI-92 è per il supporto OUTER JOIN (IE:LEFT, FULL, RIGHT) - La sintassi ANSI-89 non ne ha, quindi molti database hanno implementato il proprio (che non esegue il porting su altri database ). IE:(+)
di Oracle , =*
di SQL Server