Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation

Tiefgreifendes Verständnis der MySQL-Selbstverbindung und Join-Assoziation

1. MySQL-Selbstverbindung

MySQL muss beim Abfragen von Informationen manchmal eine Verbindung zu sich selbst herstellen (Selbstverbindung), daher müssen wir einen Alias ​​für die Tabelle definieren. Nehmen wir ein Beispiel. Das Folgende ist eine Wareneinkaufstabelle. Wir müssen alle Informationen finden, deren Einkaufspreis höher ist als der von Huihui.

Wenn wir diese Tabelle sehen, bedienen wir sie im Allgemeinen zunächst mit den folgenden Anweisungen:

Wählen Sie * aus Einkaufen, wo Preis>27

Wie Sie sich vorstellen können, ist das ganz einfach. Was ist, wenn Sie die detaillierten Daten der Datenbanktabelle nicht kennen oder die Datenmenge recht groß ist? Als Datenbankadministrator müssen wir andere Methoden verwenden, um die benötigten Daten schnell zu finden.

Schritt für Schritt Abfrage

Der einfachste Weg ist auch am leichtesten vorstellbar:

SELECT price FROM shopping WHERE name='惠惠' //Das Ergebnis der Preisabfrage ist 27
Wählen Sie * aus Einkaufen, wo Preis>27

Im Vergleich zur Selbstverbindungsmethode erfordert diese Methode einen manuellen Eingriff in die Zwischenergebnisse, was automatischen Verarbeitungsvorgängen im Programm offensichtlich nicht förderlich ist.

Selbstverbindungsmethode:

SELECT b.* 
vom Einkaufen als A, Einkaufen als B
wobei a.name='Name' 
und a.Preis<b.Preis 
Bestellung nach B.ID

Wir können die folgenden Tabelleninformationen erhalten:


Notiz:

Obwohl die Aliase a und b unterschiedliche Namen haben, handelt es sich um dieselbe Tabelle. Der Zweck der Definition von Aliasen besteht darin, das Löschen und Auswählen zu erleichtern.

Führen Sie „Select through“ (Zwischentabelle) aus, um b.* zu erhalten. Dies ist das Endergebnis.

Unterabfragen

Unterabfragen sind auch häufig verwendete Methoden, um Auswahlen in Auswahlen zu verschachteln.

Der Implementierungscode lautet wie folgt:

Wählen Sie * aus dem Einkauf 
WO Preis>(Preis aus „Shopping“ auswählen, wobei Name=„Preis“)

Die Ergebnisse sind unten dargestellt. Man kann erkennen, dass die mit beiden Methoden erzielten Ergebnisse gleich sind:


VERBINDEN

Innerer Join

Die Hauptfunktion des Inner Join besteht darin, den Ergebnissatz zurückzugeben, wenn mindestens eine Übereinstimmung in der Tabelle vorhanden ist. Der Inner Join und der Join haben hier dieselbe Funktion, daher werden sie zusammen eingeführt.
Nachfolgend sind zwei Tabellen aufgeführt, nämlich Waren- und Kategorietabellen:

SELECT * FROM Waren INNER JOIN Kategorie 
EIN waren.id=kategorie.waren_id 
BESTELLEN NACH gods.id

Das Ergebnis ist wie folgt:

LINKS VERBINDEN

Das Schlüsselwort LEFT JOIN gibt alle Zeilen aus der linken Tabelle (table_name1) zurück, auch wenn in der rechten Tabelle (table_name2) keine passenden Zeilen vorhanden sind. Es wird empfohlen, bei der Durchführung von Projekten die Linksassoziation zu verwenden. Es gibt jedoch viele Tabellenassoziationen. Eine Tabelle ist links mit a verknüpft, gleichzeitig aber rechts mit b. In diesem Fall kann das Hinzufügen einer Rechtsverknüpfung das Schreiben erleichtern.

Wenden Sie die ersten beiden Tabellen an, um eine Left-Join-Abfrage durchzuführen:

Wählen Sie Waren aus.*,Kategorie.Kategorienname 
VON Waren LINKS JOIN Kategorie 
EIN waren.id=kategorie.waren_id 
BESTELLEN NACH waren.id 


RECHTS BEITRETEN

Das Schlüsselwort RIGHT JOIN gibt alle Zeilen aus der rechten Tabelle (table_name2) zurück, auch wenn in der linken Tabelle (table_name1) keine übereinstimmenden Zeilen vorhanden sind. Wenden Sie die ersten beiden Tabellen an, um eine Right-Join-Abfrage durchzuführen:

WÄHLEN Sie a.Warenname,a.Preis,b.*
Von Waren als
RIGHT JOIN Kategorie als b
EIN a.id=b.waren_id
BESTELLEN NACH b.id 


Für Assoziationen mehrerer Tabellen fügen Sie einfach ein paar weitere Assoziationsanweisungen hinzu.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Analyse der Verwendung mehrerer MySQL-Left-Join-Abfragen
  • MySQL-Optimierung: Join statt Unterabfrage verwenden
  • MySQL-Abfrageoptimierung: Einführung in das Sortierlimit für Join-Abfragen (Join-, Order-by- und Limit-Anweisung)
  • Detailliertes Tutorial zur Verwendung der JOIN-Anweisung zum Ausführen von Verbindungsvorgängen in MySQL
  • Wissenspunkte zum Prinzip der MySQL-Join-Abfrage
  • MySQL-Join-Abfragesyntax und Beispiele
  • Zusammenfassung mehrerer häufig verwendeter Verbindungsmethoden in MySQL

<<:  jQuery implementiert die Funktion zum Ziehen von Bildern mit der Maus

>>:  So importieren Sie txt in MySQL unter Linux

Artikel empfehlen

Unterscheidung zwischen Linux-Hardlinks und Softlinks

Unter Linux gibt es zwei Arten von Dateiverbindun...

CSS3 realisiert verschiedene grafische Effekte kleiner Pfeile

Es ist großartig, CSS zu verwenden, um verschiede...

Detaillierte Erklärung der Schritte zum Erstellen eines Webservers mit node.js

Vorwort Es ist sehr einfach, einen Server in node...

Einführung in neue ECMAscript-Objektfunktionen

Inhaltsverzeichnis 1. Objekteigenschaften 1.1 Att...

So ändern Sie den MySQL-Zeichensatz utf8 in utf8mb4

Wenn für MySQL 5.5 der Zeichensatz nicht festgele...

Details zur Verwendung des JSON-Typs in MySQL 5.7

JSON ist ein leichtes Datenaustauschformat, das e...

So verwenden Sie Nginx zum Simulieren der Canary-Freigabe

Dieser Artikel stellt die Blue-Green-Bereitstellu...

jQuery implementiert einen einfachen Karusselleffekt

Hallo zusammen, heute werde ich die Implementieru...

Beispielerklärung für Ausführungskontext und Ausführungsstapel in JavaScript

JavaScript - Prinzipienreihe Wenn wir in der tägl...