Heim >Datenbank >MySQL-Tutorial >Was bedeutet die Syntax „=*' in SQL-Joins?

Was bedeutet die Syntax „=*' in SQL-Joins?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-04 19:58:41484Durchsuche

What Does the

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:

  • If die linke Tabelle (im Beispiel Tabelle1) enthält eine Zeile mit einem passenden Wert in der rechten Tabelle (Tabelle2), die Zeilen werden verbunden.
  • Wenn Die linke Tabelle (Tabelle1) hat keinen passenden Wert in der rechten Tabelle (Tabelle2), ein Nullwert wird für die Spalten der rechten Tabelle hinzugefügt.
  • Wenn die rechte Tabelle (Tabelle2) keinen passenden Wert in hat In der linken Tabelle (Tabelle1) wird für die Spalten der linken Seite ein Nullwert hinzugefügt Tabelle.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn