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

SQL Server *=Opérateur ?

Supprimez ce code immédiatement et remplacez-le par une jointure gauche. Ce code ne s'interprète pas toujours correctement (parfois SQL Server décide qu'il s'agit d'une jointure croisée) même dans SQL Server 2000 et peut donc donner des résultats incorrects ! De plus, il est obsolète pour le futur (Using Outer Joins, documentation SQL Server 2000 archivée à partir de l'original).

Je vais ajouter qu'en ajustant les jointures à gauche, vous devez également supprimer toutes ces autres jointures implicites. La syntaxe de jointure implicite est obsolète depuis 1992, il n'y a aucune excuse pour qu'il soit encore dans le code de production. Et mélanger des jointures implicites et explicites peut donner des résultats inattendus.