lors de l'utilisation de ANSI SQL-92
syntaxe, le ON
le mot clé fait partie de la jointure à l'exception de la cross join
puisque vous n'avez pas de condition pour la relation.
ex.
JOINTURE INTERNE
SELECT *
FROM tableA INNER JOIN tableB
on tableA.ID = tableB.ID
JOINTURE CROISÉE
SELECT *
FROM tableA CROSS JOIN tableB
ON
doit être suivi après la table jointe (jointure comme INNER et OUTER ) afin que vous n'ayez pas d'erreur de syntaxe. mais si vous utilisez le ANSI SQL-89
syntaxe, ON
le mot-clé est omis mais vous devez spécifier la relation sur la where clause
ex.
JOINTURE INTERNE
SELECT *
FROM tableA, tableB
WHERE tableA.ID = tableB.ID
JOINTURE CROISÉE
SELECT *
FROM tableA, tableB
il est sujet aux erreurs car si vous oubliez la condition, il ne générera pas d'erreur de syntaxe et fera probablement la cross join