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]')
SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1
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 }
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_fasten
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]')
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!