MySql verwendet verknüpfte Tabellenabfragen, die für Anfänger möglicherweise schwer zu verstehen sind. Der folgende Artikel gibt Ihnen eine detaillierte Einführung in den relevanten Inhalt der MySQL-Verbindungstabellenabfrage und stellt ihn Ihnen zu Referenz- und Lernzwecken zur Verfügung. Schauen wir uns gemeinsam die detaillierte Einführung an. In einer relationalen Datenbank ist es unvermeidlich, dass es verschiedene Referenzen und Assoziationen zwischen Tabellen gibt. Diese Assoziationen werden durch die Paarung von Primärschlüsseln mit Fremdschlüsseln gebildet. Daher kann beim Abrufen von Daten in den meisten Fällen eine einzelne Tabelle die Anforderungen nicht erfüllen. Um zusätzliche Daten abzurufen, müssen der Abfrage weitere Tabellen hinzugefügt werden. Dies ist die Operation, die mit dem Schlüsselwort JOIN abgeschlossen wird.
Wenn Sie mehrere Tabellen abfragen, können Sie das Schlüsselwort JOIN weglassen und mehrere Tabellen durch Kommas trennen. In diesem Fall wird es standardmäßig als INNER JOIN behandelt. Zum Beispiel, SELECT Tabelle1.*, Tabelle2.* VON Tabelle1, Tabelle2; ist gleichbedeutend mit: SELECT Tabelle1.*, Tabelle2.* VON Tabelle1 INNER JOIN Tabelle2;
Es ist zu beachten, dass bei der Kombination der Kommaform mit anderen Join-Table-Schlüsselwörtern ein Fehler gemeldet wird, wenn die Join-Table-Bedingung angegeben wird, beispielsweise durch die ON-Bedingung.
Wählen Sie left_tbl.* VON left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id WO right_tbl.id NULL IST; Mit dieser Methode können Datensätze in der richtigen Tabelle einfach herausgefiltert werden, die die Bedingungen nicht erfüllen.
Wählen Sie t1.name, t2.gehalt VON Mitarbeiter ALS t1 INNER JOIN Info ALS t2 AUF t1.name = t2.name; Wählen Sie t1.name, t2.gehalt VON Mitarbeiter t1 INNER JOIN Info t2 AUF t1.name = t2.name;
AUSWÄHLEN * AUS (AUSWÄHLEN 1, 2, 3) ALS t1;
a LINKS VERBINDEN b MIT (c1, c2, c3)
Einige JOIN-Beispiele: SELECT * FROM Tabelle1, Tabelle2; SELECT * FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.id = Tabelle2.id; SELECT * FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.id = Tabelle2.id; Wählen Sie * aus Tabelle1 links mit „Join“ Tabelle2 mithilfe von (ID); SELECT * FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.id = Tabelle2.id LEFT JOIN Tabelle3 ON Tabelle2.id = Tabelle3.id;
Betrachten Sie das folgende Beispiel: TABELLE ERSTELLEN t1 (i INT, j INT); TABELLE ERSTELLEN t2 (k INT, j INT); EINFÜGEN IN t1 WERTE(1, 1); EINFÜGEN IN t2 WERTE(1, 1); Wählen Sie * aus t1 NATURAL JOIN t2; Wählen Sie * aus t1, verbinden Sie t2 mit (j); Abfrageergebnisse:
Spalten mit dem gleichen Namen kommen im Ergebnis nur einmal vor und es handelt sich bei allen um Datensätze mit dem gleichen Wert. Durch Einfügen eines neuen Datensatzes in die beiden Tabellen sorgen Sie für einen Unterschied zwischen den j-Werten und testen Sie ihn anschließend. mysql> INSERT INTO t1 VALUES(2, 2); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> INSERT INTO t2 VALUES(2, 3); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> wähle * von t1 natürlicher Join t2; +------+------+------+ | G | G | +------+------+------+ | 2 | 2 | 1 | +------+------+------+ 1 Zeile im Satz (0,00 Sek.)
a LINKS VERBINDEN b MIT (c1, c2, c3) a LEFT JOIN b AUF a.c1 = b.c1 UND a.c2 = b.c2 UND a.c3 = b.c3 Gibt im USING-Fall zurück: COALESCE(a.c1, b.c1), COALESCE(a.c2, b.c2), COALESCE(a.c3, b.c3) ON gibt zurück:
In der ON-Anweisung können nur Tabellen in der Operationstabelle (Operanden) referenziert werden. TABELLE ERSTELLEN t1 (i1 INT); TABELLE ERSTELLEN t2 (i2 INT); TABELLE ERSTELLEN t3 (i3 INT); Für die obige Tabelle meldet die folgende Abfrage einen Fehler: mysql> AUSWÄHLEN * VON t1 JOIN t2 AUF (i1 = i3) JOIN t3; FEHLER 1054 (42S22): Unbekannte Spalte „i3“ in „on-Klausel“ Die folgende Abfrage funktioniert: mysql> AUSWÄHLEN * VON t1 JOIN t2 JOIN t3 AUF (i1 = i3); Leerer Satz (0,00 Sek.) Denn jetzt liegt t3 im Arbeitsbereich der ON-Anweisung. Verwandte Ressourcen
Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Verwendung des Linux-Befehls nslookup
>>: Analyse des Idea-Compiler-Vue-Einrückungsfehlerproblemszenarios
mktemp Erstellen Sie auf sichere Weise temporäre ...
<br />Es ist nicht länger als zwei Jahre her...
CJK ist die Abkürzung für CJK Unified Ideographs,...
In diesem Artikel wird der spezifische Code für j...
Software-Download Link zum Herunterladen der Soft...
In diesem Artikel finden Sie das Installations- u...
Einfach ausgedrückt wird distinct zum Entfernen v...
Wie wird ein Textüberlauf angezeigt? Was sind Ihr...
Code kopieren Der Code lautet wie folgt: <form...
xml <?xml version="1.0" encoding=&qu...
Vorwort Dieser Artikel stellt hauptsächlich die r...
Der detaillierte Installationsprozess von mysql5....
Inhaltsverzeichnis Vorwort Erstellen Sie ein Brüc...
Inhaltsverzeichnis 1. Was ist ein Proxy? 2. Wie w...
Nginx ist mit demselben Domänennamen konfiguriert...