Heim > Backend-Entwicklung > PHP-Tutorial > Mehrtabellenbezogene Abfragekenntnisse in PHP

Mehrtabellenbezogene Abfragekenntnisse in PHP

王林
Freigeben: 2023-05-24 10:04:01
Original
2068 Leute haben es durchsucht

Mehrtabellenbezogene Abfragefähigkeiten in PHP

Verknüpfte Abfragen sind ein wichtiger Teil der Datenbankabfrage, insbesondere wenn Sie Daten in mehreren verknüpften Datenbanktabellen anzeigen müssen. In PHP-Anwendungen werden bei der Verwendung von Datenbanken wie MySQL häufig Abfragen im Zusammenhang mit mehreren Tabellen verwendet. Die Bedeutung der Zuordnung mehrerer Tabellen besteht darin, Daten in einer Tabelle mit Daten in einer anderen oder mehreren Tabellen zu vergleichen und im Ergebnis diejenigen Zeilen zu verbinden, die den Anforderungen entsprechen.

Bei der Durchführung von Korrelationsabfragen mit mehreren Tabellen müssen Sie die Beziehung zwischen Tabellen berücksichtigen und geeignete Korrelationsmethoden verwenden. Im Folgenden werden verschiedene Techniken für Abfragen mit mehreren Tabellen und deren Verwendung in PHP vorgestellt.

  1. Inner Join

Inner Join ist die am häufigsten verwendete Methode zur Zuordnung mehrerer Tabellen, die Datensätze in zwei oder mehr Tabellen abgleicht und nur übereinstimmende Zeilen zurückgibt. In MySQL lautet die Syntax von Inner Join wie folgt:

SELECT Spaltenname(n)
FROM Tabelle1
INNER JOIN Tabelle2
ON table1.column_name = table2.column_name;

Zum Beispiel, wenn Sie eine Kundenliste anzeigen müssen Bestellungen und müssen den Kunden anzeigen. Für detaillierte Informationen können Sie die folgende SQL-Abfrageanweisung verwenden:

SELECT customer.CustomerID, customer.CustomerName,orders.OrderDate
FROM customer
INNER JOINorders
ON customer.CustomerID =orders.CustomerID ;

In PHP können diese Abfrageanweisungen mit der query()-Methode der MySQLi-Funktion ausgeführt werden.

  1. Left-Join

Left-Join ist eine häufig verwendete Methode zur Zuordnung mehrerer Tabellen, die alle Zeilen der linken Tabelle und Zeilen in der rechten Tabelle zurückgibt, die mit der linken Tabelle in Zusammenhang stehen. Wenn es in der linken Tabelle keine passende Zeile gibt, ist die Spalte in der rechten Tabelle NULL. In MySQL lautet die Syntax eines Left-Joins wie folgt:

SELECT Spaltenname(n)
FROM Tabelle1
LEFT JOIN Tabelle2
ON table1.column_name = table2.column_name;

Zum Beispiel, wenn Sie diese ohne Bestellungen anzeigen müssen in der Kundenliste „Kunden“ und müssen die folgende SQL-Abfrage verwenden:

SELECT kunden.Kundenname, aufträge.OrderID
FROM kunden
LEFT JOIN aufträge
ON kunden.KundenID = aufträge.KundenID
ORDER BY kunden.KundenName;

In PHP können diese Abfrageanweisungen mit der query()-Methode der mysqli-Funktion ausgeführt werden.

  1. Rechter Join

Der rechte Join ist die umgekehrte Operation des linken Joins. Er gibt alle Zeilen der rechten Tabelle und die Zeilen der linken Tabelle zurück, die sich auf die rechte Tabelle beziehen. Wenn es in der rechten Tabelle keine passende Zeile gibt, ist die Spalte in der linken Tabelle NULL. In MySQL lautet die Syntax eines rechten Joins wie folgt:

SELECT Spaltenname(n)
FROM Tabelle1
RIGHT JOIN Tabelle2
ON table1.column_name = table2.column_name;

Zum Beispiel, wenn Sie eine Liste von anzeigen müssen Bestellungen und den Kundennamen der Bestellung. Und müssen Sie Bestellungen ohne Kunden einschließen, können Sie die folgende SQL-Abfrageanweisung verwenden:

SELECTorders.OrderID, customer.CustomerName
FROMorders
RIGHT JOIN customer
ONorders.CustomerID = customer.CustomerID
ORDER BYorders.OrderID;

In PHP kann diese Abfrageanweisung mit der query()-Methode der mysqli-Funktion ausgeführt werden.

  1. Vollständiger Join

Vollständiger Join gleicht alle Zeilen in der linken und rechten Tabelle ab und gibt alle Ergebnisse zurück. Wenn in den beiden Tabellen keine übereinstimmenden Zeilen vorhanden sind, füllen Sie sie mit NULL auf. In MySQL lautet die Syntax eines vollständigen Joins wie folgt:

SELECT Spaltenname(n)
FROM Tabelle1
FULL OUTER JOIN Tabelle2
ON table1.column_name = table2.column_name;

MySQL bietet keinen FULL OUTER JOIN, aber Sie Sie können den linken Join mit dem rechten Join kombinieren, um den FULL OUTER JOIN-Vorgang zu simulieren.

In PHP kann eine vollständige Verbindung mithilfe der query()-Methode der MySQLi-Funktion implementiert werden.

  1. Selbstverknüpfung

Selbstverknüpfung verbindet zwei verschiedene Felder in derselben Tabelle und erstellt eine Aliastabelle zum Verknüpfen. Der Schlüssel besteht darin, die verschiedenen Ausgabemethoden bei der Verwendung der Ausgabe zu bestimmen. In MySQL lautet die Syntax für einen Self-Join wie folgt:

SELECT table1.column1, table2.column2...
FROM table1, table2
WHERE table1.column = table2.column;

Zum Beispiel möchten Sie mehr als alle anderen finden Mitarbeiter mit hohen Gehältern können die folgende SQL-Abfrage verwenden:

SELECT a.employeeName
FROM Employee a, Employee b
WHERE a.employeeSalary > b.employeeSalary
AND b.employeeName = 'Jane';

In PHP kann diese Abfrageanweisung mit der query()-Methode der MySQLi-Funktion ausgeführt werden.

Zusammenfassung

Mehrtabellenbezogene Abfragen kommen in PHP- und MySQL-Anwendungen sehr häufig vor. Dieser Artikel stellt fünf Techniken für mehrere Tabellen vor, darunter innere Verknüpfungen, linke Verknüpfungen, rechte Verknüpfungen, vollständige Verknüpfungen und Selbstverknüpfungen. Verwenden Sie diese Techniken, um Daten in mehreren zugehörigen Datenbanktabellen besser abzufragen und anzuzeigen.

Das obige ist der detaillierte Inhalt vonMehrtabellenbezogene Abfragekenntnisse in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage