Dévoilement du mystère de "*=" dans les jointures Transact-SQL
Dans le domaine de Transact-SQL (TSQL), un ancien une convention est apparue - une particularité qui a laissé beaucoup perplexes : l'énigmatique "*=". Quelle signification profonde ce symbole avait-il ?
Démêler la syntaxe
Rencontrer la condition de jointure énigmatique "WHERE table1.yr =* table2.yr -1" peut évoquer un sentiment de perplexité. Quelle sorcellerie est en jeu ici ?
Voici la sagesse des anciens : cette syntaxe représente une relique de jointure externe de l'ère TSQL d'avant 2005. Contrairement à la syntaxe ANSI JOIN plus familière, cette ancienne convention désignait une jointure externe.
La syntaxe séculaire
Pour éclairer davantage le sens, considérons cette forme archaïque de jointure externe :
"WHERE t.column =* s.column"
Dans ce construction, "t" et "s" représentent deux tables, et "column" identifie la ou les colonnes sur lesquelles la jointure est effectuée. L'opérateur "*=" établit une jointure externe, où les valeurs NULL ne sont pas exclues du résultat.
Un héritage du passé
Il est essentiel de noter que cela la syntaxe est obsolète et non reconnue par les normes SQL modernes. Lorsqu'il est rencontré dans du code existant, il doit être évité ou refactorisé dans la syntaxe ANSI JOIN plus actuelle et sans ambiguïté.
Référence
Pour ceux qui s'aventurent plus profondément dans les annales de TSQL historique, "SQL Server 2005 Outer Join Gotcha" fournit des informations supplémentaires sur cette curieuse relique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!