MySQL-Methode für Multi-Table-Abfrage: 1. Abfrage mit SELECT-Klausel; 3. Abfrage mit innerer Verknüpfung; 5. Abfrage mit mehreren Tabellen-Joins;
Wie führe ich eine Abfrage mit mehreren Tabellen in MySQL durch? Der folgende Artikel stellt Ihnen einige MySQL-Methoden für die Abfrage mehrerer Tabellen vor. Ich hoffe, er wird Ihnen hilfreich sein.
(Empfohlenes Tutorial: MySQL-Video-Tutorial)
1. SELECT-Klausel für Mehrtabellenabfrage verwenden
SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件
Beispiel :
SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id
Hinweis: Im obigen Code wird die Zuordnung zwischen den beiden Tabellen auf der Grundlage derselben ID-Feldinformationen der beiden Tabellen hergestellt. Sie sollte jedoch in der tatsächlichen Entwicklung nicht auf diese Weise verwendet werden Verwenden Sie am besten Primär- und Fremdschlüsseleinschränkungen, um
zu erreichen. 2. Verwenden Sie Tabellenaliase, um Abfragen mit mehreren Tabellen durchzuführen.
Beispiel:
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id AND b.id='$_POST[textid]'
In der SQL-Sprache können Sie zwei verwenden. Die Methode besteht darin, einen Alias für die Tabelle anzugeben:
1 Geben Sie ihn über das Schlüsselwort AS an, z. B.
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id
2 . Fügen Sie den Alias der Tabelle direkt nach dem Tabellennamen hinzu, um
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id
Einige Punkte sollten bei der Verwendung von Tabellenaliasen beachtet werden
● (1 Ein Alias ist normalerweise eine verkürzte Tabelle Name, wird verwendet, um auf bestimmte Spalten in einer Tabelle in einer Verbindung zu verweisen. Wenn in der Tabelle mehrere Spalten mit demselben Namen vorhanden sind, muss der Spaltenname mit dem Tabellennamen oder Tabellenalias qualifiziert werden Tabellenalias ist definiert, der Tabellenname kann nicht verwendet werden
3. Einfache verschachtelte Abfrage (Unterabfrage, innerer Join)
Unterabfrage: Eine Unterabfrage ist eine SELECT-Abfrage, die zurückgibt ein einzelner Wert und wird in SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen oder anderen Abfrageanweisungen verwendet. Beispiel:SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')Innerer Join: Verwendung der Abfrageergebnisse als Abfragebedingung der WHERE-Klausel wird ein innerer Join
SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1genannt, wobei filelist die angezeigten Felder INNER ist, die angeben, dass die Verbindungsmethode zwischen Tabellen „innere Verbindung“ ist. table1.column1=table2.column1 wird zur Angabe der Verbindung verwendet Bedingungen zwischen den beiden Tabellen, wie zum Beispiel:
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id
4. Komplexe Einbettung Verschachtelte Abfragen
Verschachtelte Abfragen zwischen mehreren Tabellen können durch das Prädikat IN implementiert werden. Das Syntaxformat ist wie folgt:test_expression[NOT] IN{ subquery }Parameterbeschreibung: test_expression bezieht sich auf den SQL-Ausdruck und die Unterabfrage enthält eine Unterabfrage einer bestimmten Ergebnismenge. Prinzip der verschachtelten Abfrage mit mehreren Tabellen: Egal wie viele Da Tabellen verschachtelt sind, muss eine gewisse Korrelation zwischen Tabellen bestehen. Diese Korrelation wird durch die WHERE-Klausel hergestellt, um die Abfrage mit mehreren Tabellen zu implementieren
Mithilfe von UNION in SQL-Anweisungen können qualifizierte Dateninformationen in verschiedenen Tabellen in derselben Spalte angezeigt werden. Beispiel:
SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fastenDie folgenden zwei Punkte sollten bei der Verwendung von UNION beachtet werden:
Komplexe Inner-Join-Abfrage basiert auf der grundlegenden Inner-Join-Abfrage und fügt einige Abfragebedingungen hinzu, wie zum Beispiel:
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM tb_demo065 WHERE tb_demo065.name='$_POST[text]')Kurz gesagt besteht das Wesentliche bei der Realisierung der Zuordnung zwischen Tabellen darin, dass zwischen den beiden Tabellen gemeinsame Datenelemente oder dieselben Datenelemente vorhanden sind. Die beiden Tabellen werden durch die WHERE-Klausel oder die INNER JOIN ... ON-Anweisung verbunden die Abfrage.
Das obige ist der detaillierte Inhalt vonSo führen Sie eine Abfrage mit mehreren Tabellen in MySQL durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!