php SQL-Unterabfrageanweisung besteht darin, zuerst ein Ergebnis über eine Anweisung abzufragen und dann das Ergebnis erneut über eine Abfrageanweisung abzufragen, z. B. „Wählen Sie max(Waren-ID), Katzen-ID, Warenname aus der Warengruppe nach Katze aus“.
Empfehlung: „PHP-Video-Tutorial“
Die sogenannte Unterabfrageanweisung besteht darin, zuerst ein Ergebnis über eine Anweisung abzufragen und das Ergebnis dann erneut über eine Abfrageanweisung abzufragen. Im Allgemeinen gibt es drei Arten von Unterabfrageanweisungen: Lassen Sie uns dies anhand eines Falles erklären.
Fall: Fragen Sie die neuesten Produktinformationen für jede Kategorie in [Beispiel 1] ab.
Wenn Sie einen einzelnen Satz abfragen, können Sie ihn nicht erhalten. Folgendes ist falsch:
Wählen Sie max(goods_id),cat_id,goods_name aus der Warengruppe nach cat_id;
Auf diese Weise wird die neueste Produkt-ID-Nummer (goods_id) jeder Kategorie erhalten, aber auch andere Informationen wie z als Warenname Der Produktname ist der alte. Wenn Sie daher die neuesten Produktinformationen für jede Kategorie erhalten möchten, müssen Sie entweder eine separate Abfrage durchführen oder eine Unterabfrage verwenden.
1: where-Unterabfrageanweisung.
Wählen Sie * aus Waren aus, in denen die Waren-ID enthalten ist (wählen Sie max(Waren-ID) aus der Warengruppe nach Katzen-ID aus); Fragen Sie die Produktinformationen der neuesten Produkt-ID jeder Kategorie über die bedingte Anweisung where...in () ab. Hier ist die Group-by-Anweisung als Unterabfrageanweisung von where.
2: aus der Unterabfrageanweisung.
select * from (select * from waren order by cat_id,goods_id desc) as gk group by cat_id;
From-Unterabfrage dient dazu, die Ergebnisse der Auswahlabfrage als Tabelle zu verwenden, wie in Fettdruck dargestellt obiger Code. Hinweis: Der von select abgefragten Ergebnismenge muss ein Alias zugewiesen werden, z. B. der rote Teil im obigen Code. Andernfalls wird ein Fehler gemeldet.
Auf diese Weise fragen wir auch die neuesten Produktinformationen unter jeder Kategorie ab.
3: Vorhandene Unterabfrageanweisung:
Titel: Abfrage [Beispiel 1], welche Spalten Produkte enthalten. Name der Kategorietabelle: Kategorie Produkttabelle = Kategorie-ID in der Kategorietabelle), ob ein Produkt vorhanden ist. Wenn ja, fragen Sie die Informationen dieser Kategorie ab. Wenn nicht, schließen Sie diese Kategorie aus. Das Endergebnis besteht darin, dass die Produktklassifizierungsinformationen des Produkts abgefragt werden.
Nun, hier stellen wir drei häufig verwendete Unterabfrageanweisungen für MySQL-Datenbanken vor: die Unterabfrageanweisung „Where“, die Unterabfrageanweisung „From“ und die Unterabfrageanweisung „Existenz“. Wenn Sie keine Unterabfrageanweisungen verwenden möchten, können Sie diese natürlich auch zur Ausführung in zwei Anweisungen aufteilen, was den gleichen Effekt hat.
Das obige ist der detaillierte Inhalt vonUnterabfrageanweisung für PHP-Mehrtabellenabfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!