Verstehen der Bedeutung von „=*“ in SQL-Joins
Beim Untersuchen von Microsoft SQL Server-Code ist es möglich, auf einen unbekannten Join zu stoßen Konvention: „=*.“ Diese Syntax, die historische Wurzeln vor SQL Server 2005 hat, hat eine bestimmte Bedeutung und ist kein ANSI JOIN.
Syntax des „=*“ Joins
Die Die Join-Syntax „=*“ sieht wie folgt aus Form:
WHERE table1.yr =* table2.yr -1
Definition
Der „=*“-Join ist ein äußerer Join, der die folgende Logik verwendet:
Beispiel
Betrachten Sie die folgenden Tabellen:
table1: | yr | data | | ----------- | -------- | | 2022 | x | | 2023 | y | table2: | yr | value | | ----------- | --------- | | 2021 | a | | 2022 | b |
Die folgende Abfrage verwendet den „=*“-Join zum Kombinieren diese Tabellen:
SELECT * FROM table1 WHERE table1.yr =* table2.yr -1;
Diese Abfrage würde Folgendes ergeben Ergebnis:
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.
Das obige ist der detaillierte Inhalt vonWas bedeutet die Syntax „=*' in SQL-Joins?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!