Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung der Mehrtabellenabfrage in MySQL
Mehrtabellenabfrage
1. Kategorie:
* Ergebnismenge zusammenführen (verstehen)
* Beitreten Abfrage
* Unterabfrage
Ergebnismenge zusammenführen
* In der Tabelle, die zusammengeführt werden muss, Der Typ und die Anzahl der Spalten sind gleich
* UNION, doppelte Zeilen entfernen
* UNION ALL, doppelte Zeilen nicht entfernen
SELECT * FROM cd/*cd表*/UNION ALLSELECT * FROM ab;/*ab表*
Join-Abfrage
1. Klassifizierung
* Inner Join
* Outer Join
> Left Outer Join
> ; Rechter äußerer Join
> Vollständiger äußerer Join (nicht unterstützt von MySQL)
2. Innerer Join * Dialekt:
SELECT * FROM Tabelle 1 Alias 1, Tabelle 2 Alias 2 WHERE Alias 1.xx = Alias 2.xx * Standard:
SELECT * FROM Tabelle 1 Alias 1 INNER JOIN Tabelle 2 Alias 2EIN Alias 1.xx = Alias 2.xx * Natürlich:
SELECT * FROM Tabelle 1 Alias 1 NATURAL JOIN Tabelle 2 Alias 2
* Alle vom Inner Join abgefragten Datensätze erfüllen die Bedingungen.
3. Äußerer Join
* Links außen : SELECT * FROM Tabelle 1 Alias 1 LEFT OUTER JOIN Tabelle 2 Alias 2 ON Alias 1.xx=Alias 2.xx
> Die Datensätze in der linken Tabelle werden unabhängig davon abgefragt, ob sie die Bedingungen erfüllen, während die Datensätze in der rechten Tabelle nur abgerufen werden können wenn sie die Bedingungen erfüllen. Für Datensätze in der linken Tabelle, die die Bedingungen nicht erfüllen, ist der rechte Tabellenteil NULL * Left external natural
: SELECT * FROM Tabelle 1 Alias 1 NATURAL LEFT OUTER JOINTabelle 2 Alias 2 ON Alias 1.xx= Alias 2.xx * Rechts außen
:SELECT * FROM Tabelle 1 Alias 1 RIGHT OUTER JOIN Tabelle 2 Alias 2 ON Alias 1.xx=Alias 2. xx > Für Datensätze, die die Bedingungen in der rechten Tabelle nicht erfüllen, ist der linke Tabellenteil NULL
* Natürlich rechts außen :
SELECT * FROM Tabelle 1 Alias 1 NATURAL RIGHT OUTER JOINTabelle 2 Alias 2 ON Alias 1.xx=Alias 2.xx * Vollständiger Link: Sie können UNION verwenden, um den vollständigen Link
Unterabfrage
zu vervollständigen : Es gibt Abfragen in der Abfrage (siehe das ausgewählte Schlüsselwort Number! ) 1. Erscheinungsposition:
🎜>
* Existiert als Tabelle nach von (mehrere Zeilen und Spalten)
2. Bedingungen * (***) Einzelne Zeile und einzelne Spalte: SELECT * FROM Tabelle 1 Alias 1 WHERE Spalte 1 [=, >, 95ec6993dc754240360e28e0de8de30a=, <=, !=]
(Spalte AUS Tabelle 2 Alias 2 WHERE-Bedingung auswählen)
* (**)Mehrere Zeilen und einzelne Spalte:
SELECT * FROM Tabelle 1 Alias 1 WHERE Spalte 1 [IN, ALL, ANY]
(SELECT Spalte FROM Tabelle 2 Alias 2 WHERE Bedingung) * (*) Einzelne Zeile und mehrere Spalten: SELECT * FROM Tabelle 1 Alias 1 WHERE (Spalte 1, Spalte 2) IN
( SELECT Spalte 1, Spalte 2 FROM Tabelle 2 Alias 2 WHERE-Bedingung) * (***)Mehrere Zeilen und mehrere Spalten: SELECT * FROM Tabelle 1 Alias 1, (SELECT ....) Alias 2 WHERE-Bedingung
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Mehrtabellenabfrage in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!