Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung der Mehrtabellenabfrage in MySQL

Detaillierte Erläuterung der Mehrtabellenabfrage in MySQL

迷茫
迷茫Original
2017-03-26 11:28:281237Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn