Selbst beitreten

Definition - Was bedeutet Self-Join?

Ein Self-Join, auch als innerer Join bezeichnet, ist eine SQL-Anweisung (Structured Query Language), bei der eine abgefragte Tabelle mit sich selbst verbunden wird. Die Self-Join-Anweisung ist erforderlich, wenn zwei Datensätze in derselben Tabelle verglichen werden.

Technische.me erklärt Self-Join

Als Beispiel gibt es eine Tabelle mit dem Namen EMPLOYEES, die drei Spalten enthält:

  • Mitarbeitername
  • Mitarbeiter-ID
  • ID des Mitarbeitermanagers

Da die Manager auch Mitarbeiter sind, enthält die Spalte MANAGER_ID auch die ID eines anderen Mitarbeiters, der auch der Manager ist. Um eine Abfrage zum Extrahieren der Mitarbeiter- und Manager-Namen und -IDs zu schreiben, muss die Tabelle logisch in zwei Hälften geteilt werden, um zwei separate Abfragen auszuführen: Mitarbeiter (erste Tabelle) und Manager (zweite Tabelle). Dies wird durch Ausführen der folgenden Beispiel-SQL-Abfrage erreicht:

SELECT a.employee_name, b.employee_name als Manager_name
VON Mitarbeitern als a, Mitarbeiter als b
WHERE a.manager_id = b.employee_id

Das Verständnis des Self-Join-Konzepts und der Umstände ist wichtig, um die obige SQL-Anweisung zu verstehen.

In diesem Beispiel erhält die zweite EMPLOYEES-Tabelle den Alias ​​b, der tatsächlich eine Teilmenge der vollständigen EMPLOYEES-Tabelle ist. Die WHERE-Bedingung zwingt jedoch die erste EMPLOYEES-Tabelle, den Mitarbeitermanager in der zweiten EMPLOYEES-Tabelle abzufragen.