Heim  >  Artikel  >  Datenbank  >  So verwenden Sie Tabellenverbindungen in MySQL und PHP

So verwenden Sie Tabellenverbindungen in MySQL und PHP

王林
王林nach vorne
2023-05-29 14:13:131089Durchsuche

Tabellenverbindung

Verwenden Sie Verbindungsbedingungen, um mehrere Tabellen zuzuordnen (JOIN). Daten zwischen mehreren Tabellen können über die Tabellenverbindung abgerufen werden.

So verwenden Sie Tabellenverbindungen in MySQL und PHP

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):

So verwenden Sie Tabellenverbindungen in MySQL und PHP

Daten (Tabelle 2):

So verwenden Sie Tabellenverbindungen in MySQL und PHP

Inner Join

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
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

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.

Format:

SELECT A.c1, B.c2 FROM A LEFT JOIN B ON A.c3 = B.c3

Beispiel:

rrree

Ausgabeergebnis:

Datenbankverknüpfung erfolgreich

SQL-Anweisung erfolgreich ausgeführt!

Array
(

[Name] => Yang Fugui
[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

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

Format:

SELECT 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 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:

Datenbankverknüpfung erfolgreich

SQL-Anweisung erfolgreich ausgeführt!

Array
(

[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).

Format:

SELECT A.c1, B.c2 FROM A LEFT JOIN B ON A.c3 = B.c3

UNION

SELECT 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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen