Comprendre la signification de "=*" dans les jointures SQL
Lors de l'examen du code Microsoft SQL Server, il est possible de rencontrer une jointure inconnue convention : "=*." Cette syntaxe, qui a des racines historiques avant SQL Server 2005, a une signification spécifique et n'est pas une ANSI JOIN.
Syntaxe de la jointure "=*"
La La syntaxe de jointure "=*" prend ce qui suit form :
WHERE table1.yr =* table2.yr -1
Définition
La jointure "=*" est une jointure externe qui utilise la logique suivante :
Exemple
Considérez les tables suivantes :
table1: | yr | data | | ----------- | -------- | | 2022 | x | | 2023 | y | table2: | yr | value | | ----------- | --------- | | 2021 | a | | 2022 | b |
La requête suivante utilise la jointure "=*" pour combiner ces tables :
SELECT * FROM table1 WHERE table1.yr =* table2.yr -1;
Cette requête produirait ce qui suit résultat :
yr | data | value |
---|---|---|
2022 | x | b |
2023 | y | NULL |
**Note:** The "-1" in the query subtracts one year from the "yr" column of table2, resulting in a match for "2022" from table1. **Historical Significance and ANSI Joins** The "=*" join syntax was prevalent in older versions of TSQL. However, since SQL Server 2005, ANSI JOIN syntax is preferred. The ANSI JOIN syntax uses keywords such as "INNER JOIN", "LEFT JOIN", and "RIGHT JOIN" to specify the type of join.
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!