Dieses Tutorial zeigt Ihnen, wie Sie den MySQL-Self-Join verwenden, um eine Tabelle mit sich selbst zusammenzuführen und benutzerdefinierte Daten zu erstellen.
Grundlegende Verwendung
MySQL Self-Join verwendet Tabellenaliase, um sicherzustellen, dass Sie dieselbe Tabelle nicht mehr als einmal in einer Anweisung wiederholen.
HINWEIS: Wenn Sie mit Tabellenaliasen nicht vertraut sind, ziehen Sie unser anderes Tutorial in Betracht, das das Konzept vollständig erklärt.
Die allgemeine Syntax für die Verwendung eines Self-Joins ähnelt der beim Kombinieren von zwei Tabellen. Wir verwenden jedoch Tabellenaliase. Betrachten Sie die unten gezeigte Abfrage:
AUSWÄHLEN alias1.cols,alias2.cols VON tbl1 alias1,tbl2 alias2 WO [Zustand]
Beispielanwendungsfälle
Lassen Sie uns Beispiele verwenden, um zu verstehen, wie MySQL-Self-Joins durchgeführt werden. Angenommen, Sie haben eine Datenbank mit den folgenden Informationen (Siehe vollständige Abfrage unten)
TROPFEN SCHEMA WENN EXISTIERT selbst;SCHAFFEN SCHEMA selbst;
VERWENDEN selbst;
SCHAFFEN TISCH Benutzer(
Ich würde INT PRIMÄRSCHLÜSSEL AUTO_INCREMENT ,
Vorname VARCHAR (255),
Email VARCHAR (255),
Payment_id INT ,
Abonnement INT
);
EINFÜGUNG HINEIN Benutzer(Vorname,Email,Payment_id,Abonnement) WERTE ('Valerie G. Phillip', ' [E-Mail geschützt] ', 10001, 1), ('Sean R. Geschichten', ' [E-Mail geschützt] ', 10005, 2), ('Bobby S. Neuling', ' [E-Mail geschützt] ', 100010, 5);
Wir beginnen mit einem INNER-Join und schließlich einem Left-Join.
Self Join mit Inner Join
Die folgende Abfrage führt einen INNER-Join für die oben erstellte Tabelle aus.
AUSWÄHLEN al1.* VON Benutzer al1 INNERE BEITRETEN Benutzer al2 AN al1.Abonnement=al2.Abonnement SORTIEREN NACH Ich würde DESC ;Die Ausgabe ist unten dargestellt:
Self Join mit Left Join
Die folgende Beispielabfrage erklärt, wie wir Self Join mit Left Join verwenden können.
AUSWÄHLEN ( CONCAT (al1.vorname, '->',al2.email)) WIE Einzelheiten,al1.payment_id VON Benutzer al1 LINKS BEITRETEN Benutzer al2 AN al1.id=al2.id;Das Ausgabeergebnis ist unten:
Abschluss
In dieser Anleitung erfahren Sie, wie Sie mit MySQL Self Join eine Tabelle mit sich selbst verbinden können.
Vielen Dank fürs Lesen.