Heim > Datenbank > MySQL-Tutorial > Wie können Sie mit Self-Joins in SQL eine einzelne Tabelle als mehrere Tabellen abfragen?

Wie können Sie mit Self-Joins in SQL eine einzelne Tabelle als mehrere Tabellen abfragen?

Linda Hamilton
Freigeben: 2025-01-14 12:31:43
Original
587 Leute haben es durchsucht

How Do Self-Joins in SQL Allow You to Query a Single Table as Multiple Tables?

Umfassendes Verständnis des SQL-Self-Joins

SQL Self-Join ist ein Grundkonzept bei Datenbankabfragen, das es Ihnen ermöglicht, dieselbe Tabelle mehrmals abzufragen, genau wie beim Betrieb zweier unabhängiger Tabellen.

Definition von Selbstverbindung

Selbst verknüpft die Arbeit, indem ein Alias ​​für dieselbe Tabelle erstellt wird, sodass Sie sie als zwei verschiedene Tabellen behandeln können. Ein Self-Join simuliert das Vorhandensein mehrerer Tabellen, ohne separate physische Kopien zu erstellen.

Beispiel zur Selbstverbindung

Betrachten Sie die folgende Mitarbeitertabelle:

<code>表 emp1
Id  姓名  主管Id
1   ABC   3
2   DEF   1
3   XYZ   2</code>
Nach dem Login kopieren

Um den Namen jedes Mitarbeiters und den Namen seines Vorgesetzten abzurufen, führen Sie die folgende Self-Join-Abfrage aus:

<code>select c1.姓名, c2.姓名 As 主管
from emp1 c1
join emp1 c2 on c1.主管Id = c2.Id</code>
Nach dem Login kopieren

Ausgabeergebnis:

<code>姓名  主管
ABC   XYZ
DEF   ABC
XYZ   DEF</code>
Nach dem Login kopieren

In dieser Abfrage weisen wir den Alias ​​c1 der primären Instanz der Tabelle emp1 und den Alias ​​c2 dem Alias ​​zu, der die „zweite“ Instanz darstellt. Die Join-Bedingung gleicht die supervisorId von c1 mit der Id von c2 ab. Dadurch können wir den Namen jedes Mitarbeiters aus c1 und den Namen seines Vorgesetzten aus c2 abrufen.

Das obige ist der detaillierte Inhalt vonWie können Sie mit Self-Joins in SQL eine einzelne Tabelle als mehrere Tabellen abfragen?. 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