quando si utilizza ANSI SQL-92
sintassi, il ON
la parola chiave fa parte del join ad eccezione del cross join
dal momento che non hai una condizione per la relazione.
es.
UNIONE INTERNA
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
CROSS JIN
SELECT *
FROM tableA CROSS JOIN tableB
ON
dovrebbe essere seguito dopo il tavolo unito (unisce come INNER e OUTER ) quindi non avrai errori di sintassi. ma se stai usando ANSI SQL-89
sintassi, ON
la parola chiave è omessa ma devi specificare la relazione nella where clause
es.
UNIONE INTERNA
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
CROSS JIN
SELECT *
FROM tableA, tableB
è soggetto a errori perché se dimentichi la condizione, non genererà un errore di sintassi e probabilmente eseguirà il cross join