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

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

Patricia Arquette
Freigeben: 2025-01-04 19:58:41
Original
447 Leute haben es durchsucht

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
Nach dem Login kopieren

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 |
Nach dem Login kopieren

Die folgende Abfrage verwendet den „=*“-Join zum Kombinieren diese Tabellen:

SELECT *
FROM table1
WHERE table1.yr =* table2.yr -1;
Nach dem Login kopieren

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.
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage