Frage №35
Verbleibend:
Was ist ein Self-Join und wann wird er eingesetzt?
Musterantwort
Antwort standardmäßig anzeigen
Ein Self-Join ist ein Join-Typ in SQL, bei dem eine Tabelle mit sich selbst verknüpft wird. Das ist nützlich, wenn du Zeilen derselben Tabelle miteinander vergleichen oder hierarchische Daten verarbeiten möchtest.
Wann ein Self-Join Sinn ergibt:
- Hierarchische Strukturen. Etwa eine Mitarbeitertabelle, in der jeder Mitarbeitende eine Managerin oder einen Manager haben kann, die selbst wieder ein Eintrag in derselben Tabelle sind.
- Datensätze vergleichen. Zum Aufspüren von Duplikaten oder zum Vergleichen von Werten zwischen Zeilen derselben Tabelle.
Beispiel
Um eine Liste der Mitarbeitenden samt zugehörigem Manager zu erhalten:
MySQL 8.1SELECT e.name AS Employee, m.name AS Manager FROM Employee e LEFT JOIN Employee m ON e.managerId = m.employeeId;
In dieser Query verknüpfen wir die Tabelle Employee mit sich selbst, um jedem Mitarbeitenden den passenden Manager zuzuordnen.