Heim > Artikel > Backend-Entwicklung > PHP Union fragt drei Tabellen ab
Bei der Entwicklung einer Website ist es manchmal notwendig, mehrere Tabellen zu kombinieren, um die erforderlichen Daten abzufragen und zu erhalten. In PHP können Sie Union-Query-Anweisungen verwenden, um diese Funktion zu erreichen. In diesem Artikel wird erläutert, wie Sie mit PHP drei Tabellen gemeinsam abfragen.
Angenommen, wir haben drei Tabellen: Benutzer, Bestellungen und Bestellelemente. Unter diesen zeichnet die Benutzertabelle Benutzerinformationen auf, die Auftragstabelle zeichnet Bestellinformationen auf und die order_items-Tabelle zeichnet Bestellartikelinformationen auf. Jetzt müssen wir alle Bestellungen für jeden Benutzer und alle Werbebuchungen für jede Bestellung abfragen. Dies kann mit der folgenden gemeinsamen Abfrageanweisung erreicht werden:
$sql = "SELECT u.name, o.order_number, i.product_name, i.price FROM users u JOIN orders o ON u.id = o.user_id JOIN order_items i ON o.id = i.order_id WHERE u.id = ?";
Diese Anweisung verbindet zunächst die Benutzertabelle, die Auftragstabelle und die order_items-Tabelle über das Schlüsselwort JOIN und filtert dann die Informationen des angegebenen Benutzers über die WHERE-Klausel heraus. Unter diesen wird das Schlüsselwort JOIN zum Verknüpfen von Tabellen und das Schlüsselwort ON zum Angeben von Verbindungsbedingungen verwendet.
In der obigen Abfrage müssen wir alle Bestellungen jedes Benutzers und alle Einzelposten jeder Bestellung abfragen. Daher müssen wir das Schlüsselwort JOIN verwenden, um die Benutzertabelle, die Auftragstabelle und die order_items-Tabelle zu verbinden. Es gibt drei Verbindungsmethoden:
In diesem Beispiel haben wir einen INNER JOIN verwendet, weil wir nur Zeilen zurückgeben möchten, die eine Übereinstimmung haben.
Als nächstes müssen wir die Verbindungsbedingungen festlegen. Hier verwenden wir die Benutzer-ID (users.id), um sie mit der Benutzer-ID der Bestellung (orders.user_id) zu verknüpfen, und die Bestell-ID (orders.id), um die Bestell-ID des Bestellelements (order_items.order_id) zu verknüpfen.
Abschließend verwenden wir die WHERE-Klausel, um die Informationen des angegebenen Benutzers zu filtern. Hier verwenden wir den Platzhalter?, und bevor wir die Abfrage ausführen, müssen wir die Methode bindParam() oder bindValue() verwenden, um die tatsächlichen Parameter an den Platzhalter zu binden.
Zusammenfassend ist dies eine relativ einfache PHP-Anweisung zum gemeinsamen Abfragen von drei Tabellen. Union Query ist eine sehr flexible und leistungsstarke Abfragemethode, die entsprechend den tatsächlichen Anforderungen in der tatsächlichen Entwicklung flexibel verwendet werden sollte.
Das obige ist der detaillierte Inhalt vonPHP Union fragt drei Tabellen ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!