Ces requêtes sont-elles toutes deux des représentations de equi join?SQL Server Requêtes de equi join
Je trouve que les deux retournent le même résultat.
Query1:
SELECT C.* FROM [Case] A, [Event] B, Notice C
WHERE A.CaseID = B.CaseID
AND B.EventID = C.EventID
Query2:
SELECT C.* FROM [Case] A
join [Event] B on A.CaseID = B.CaseID
join Notice C on B.EventID = C.EventID
S'il vous plaît préciser.
Cool .. Merci les gars! –
Bien sûr, c'est la syntaxe la plus récente, l'autre est 18 ans obsolète pour les raisons que vous avez expliquées ci-dessus. Il est également plus facile de maintenir la main, surtout lorsque vous avez besoin d'ajouter des jointures à gauche car la syntaxe à l'ancienne n'a pas un bon support pour les jointures à gauche (dans SQL Server au moins). En fait, ils sont déconseillés et en ce moment dans le serveur SQL, ils peuvent renvoyer des résultats incorrects car l'optimisé est confus quant à savoir s'il s'agit d'une jointure à gauche ou d'une jointure croisée. – HLGEM
Bons points - plus j'ai une ** aversion forte ** à la syntaxe pré-ANSI :) – RedFilter