Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

ON fait partie de la syntaxe

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