Wann man MySQL Self -Join und Beispiele verwendet

Wann man MySQL Self -Join und Beispiele verwendet
MySQL Selfjoin ist eine Art SQL-Join, mit der Sie einer Tabelle zu sich selbst beitreten können. Es funktioniert mit anderen Joinentypen wie der inneren oder linken Join -Klausel, um Zeilen basierend auf den angegebenen Bedingungen zu kombinieren.

In diesem Tutorial werden Ihnen angezeigt.

Grundnutzung

MySQL Self-Join verwendet Tabellenaliase, um sicherzustellen, dass Sie dieselbe Tabelle nicht mehr als einmal in einer Anweisung wiederholen.

NOTIZ: Wenn Sie mit Tabellenaliase nicht vertraut sind, sollten Sie unser anderes Tutorial berücksichtigen, das das Konzept vollständig erklärt.

Die allgemeine Syntax für die Verwendung eines Selbstjoin ähnelt einem bei der Kombination von zwei Tabellen. Wir verwenden jedoch Tabellenaliase. Betrachten Sie die unten gezeigte Abfrage:

Wählen Sie alias1.cols, alias2.cols aus TBL1 alias1, TBL2 alias2 wobei [Zustand]

Beispiel Anwendungsfälle

Lassen Sie uns Beispiele verwenden, um zu verstehen. Angenommen, Sie haben eine Datenbank mit den folgenden Informationen (siehe Abfrage unten)

Schema fallen lassen, wenn es selbst existiert;
Schema selbst erstellen;
Benutze Selbst;
Tabellenbenutzer erstellen (Benutzer
ID int Primärschlüssel Auto_increment,
First_Name Varchar (255),
E -Mail Varchar (255),
payment_id int,
Abonnement int
);
Einfügen in Benutzer (First_Name, E -Mail, Payment_ID, Abonnement) Werte ("Valerie G. Phillip "," [email protected] ", 10001, 1), (" Sean R. Storie "," [email protected] ", 10005, 2), (" Bobby S. Newsome "," [email protected] ", 100010, 5);

Wir werden mit einer inneren Verbindung und schließlich einem linken Join beginnen.

Self Youverne mit innerem Join

Die folgende Abfrage führt einen inneren Join auf der oben erstellten Tabelle durch.

Wählen Sie Al1.* Von Benutzern AL1 Inner Join Users AL2 auf AL1.Abonnement = Al2.Abonnementverordnung durch ID Desc;

Die Ausgabe ist unten dargestellt:

Self Join mit Links Join

In der folgenden Beispielabfrage werden erläutert.

Select (concat (al1.First_name, ' ->', Al2.E -Mail)) als Details, Al1.payment_id von den Benutzern AL1 links Beitritt Benutzer AL2 auf AL1.id = al2.Ausweis;

Das Ausgabeergebnis ist unten:

Abschluss

Dieser Leitfaden führte Sie durch, wie Sie MySQL Self verwenden können, um sich einer Tabelle mit sich selbst anzuschließen. Vielen Dank für das Lesen.