Verwenden Sie Verbindungsbedingungen, um mehrere Tabellen zuzuordnen (JOIN). Daten zwischen mehreren Tabellen können über die Tabellenverbindung abgerufen werden.
Tabellenverbindungssyntax:
SELECT Tabellenname 1. Spaltenname , Tabellenname 2. Spaltenname AUS Tabelle 1, Tabelle 2 WHERE-Bedingung
Mehrere Möglichkeiten, Tabellen zu verknüpfen:
Inner Join: Join oder Inner Join
Selbst-Join: Join innerhalb derselben Tabelle
Outer Join:
linker äußerer Join, linker Join
rechter äußerer Join, rechter Join
vollständiger äußerer Join, vollständiger Join
Daten (Tabelle 1):
Daten (Tabelle 2):
Inner Join dient dazu, alle Zeilen aus der Ergebnistabelle zu löschen, die nicht mit anderen verbundenen Tabellen übereinstimmen (Schnittpunkt)
Format:
SELECT A.c1, B.c2 FROM A JOIN B ON A .c3 = B.c3
Beispiel:
<?php $conn = mysqli_connect("localhost", "root","admin","study"); if ($conn) { echo "数据库链接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "SELECT table1.name, table1.age, table2.class FROM table1 JOIN table2 ON table1.name = table2.name"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
Ausgabeergebnis:
Datenbankverknüpfung erfolgreich
enthält alle Zeilen der Tabelle (unabhängig davon, ob die rechte Tabelle vorhanden ist und entsprechende Zeilen enthält). ) und alle passenden Zeilen in der rechten Tabelle.
SQL-Anweisung erfolgreich ausgeführt!
Array
(
[Name] => Yang Fugui
[ Alter] => 18
[Klasse] => Mathematikklasse
)
Array
(
[Name] => Yang Meili
[Alter] => 19
[Klasse] => Chinesischklasse
)
Array
(
[Name ] => Yang Jianguo
[Alter] => 20
[Klasse] =>Linker Join
Beispiel:Datenbankverknüpfung erfolgreichrrree
Ausgabeergebnis:
SQL-Anweisung erfolgreich ausgeführt!
Array([Name] => Yang Fugui
Enthält die richtige Tabelle Alle Zeilen (unabhängig davon, ob es übereinstimmende Zeilen in der linken Tabelle gibt) und alle übereinstimmenden Zeilen in der linken Tabelle
[Alter] => 18
[Klasse] => Mathematikklasse
)
Array
(
[ Name] => Yang Meili
[Alter] => 19
[Klasse] => Chinesische Klasse
)
Array
(
[Name] => Yang Jianguo
[Alter] => 20
[Klasse ] => Englischunterricht
)
Array
(
[Name] => Yang Tiezhu
[Alter] => 21
[Klasse] =>
)
Rechter Join
Beispiel:Datenbankverknüpfung erfolgreich<?php $conn = mysqli_connect("localhost", "root","admin","study"); if ($conn) { echo "数据库链接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "SELECT table1.name, table1.age, table2.class FROM table1 LEFT JOIN table2 ON table1.name = table2.name"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>Ausgabeergebnis:
SQL-Anweisung erfolgreich ausgeführt!
Array(Format:[Name] => Yang Fugui
[Alter] => 18
[Klasse] => Mathematikunterricht
)
Array
(
[Name] => Yang Meili
[Alter] => 19
[Klasse] => Chinesischunterricht
)
Array
(
[Name] => ; Yang Jianguo
[Alter] => 20
[Klasse] => Englischunterricht
)
Array
(
[Name] =>
[Klasse] => Geschichtsunterricht
)
Vollständiger Join
Enthält alle Zeilen aus der linken und rechten Tabelle (unabhängig davon, ob in der anderen Tabelle übereinstimmende Zeilen vorhanden sind).
SELECT A.c1, B.c2 FROM A LEFT JOIN B ON A.c3 = B.c3
UNIONSELECT A.c1, B.c2 FROM A RIGHT JOIN B ON A.c3 = B.c3
Beispiel:
<?php $conn = mysqli_connect("localhost", "root","admin","study"); if ($conn) { echo "数据库链接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "SELECT table1.name, table1.age, table2.class FROM table1 RIGHT JOIN table2 ON table1.name = table2.name"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
Ausgabeergebnis:
Datenbankverknüpfung erfolgreich
SQL-Anweisung erfolgreich ausgeführt!Array
([Name] => Yang Fugui[Alter] => 18
[Klasse] => Mathematikklasse
)
Array
(
[Name] => Yang Beautiful
[Alter] => 19
[Klasse] => Chinesischklasse
)
Array
(
[Name] => Yang Jianguo
[Alter] => 20
[Klasse] => Englischklasse
)
Array
(
[Name] => Yang Tiezhu
[Alter] => 21
[Klasse] =>
)
Array
(
[Name] =>
[Alter] =>
[ Klasse] => Geschichtsunterricht
)
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Tabellenverbindungen in MySQL und PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!