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