php-MySQL-Abfrageanweisung ist wie folgt geschrieben: [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);].
Die sogenannte Unterabfrageanweisung besteht darin, zunächst ein Ergebnis über eine Anweisung abzufragen und dann das Ergebnis erneut über eine Abfrageanweisung abzufragen. Im Allgemeinen gibt es drei Arten von Unterabfrageanweisungen: Lassen Sie uns dies anhand eines Falles erklären.
(Empfohlenes Video-Tutorial: php-Video-Tutorial)
Fall: Fragen Sie die neuesten Produktinformationen unter jeder Kategorie in [Beispiel 1] ab.
Wenn Sie einen einzelnen Satz abfragen, können Sie ihn nicht erhalten. Folgendes ist falsch:
select max(goods_id),cat_id,goods_name from goods group by cat_id;
Auf diese Weise wird die neueste Produkt-ID-Nummer (Waren-ID) jeder Kategorie erhalten, andere Informationen wie Warenname sind jedoch die alten. 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.
select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);
In diesem Code verwenden wir zunächst „group by“, um die neueste Produkt-ID jeder Kategorie abzufragen, und verwenden dann die bedingte Anweisung „where...in()“, um die Produktinformationen der neuesten Produkt-ID jeder Kategorie abzufragen. Hier ist die Group-by-Anweisung als Unterabfrageanweisung von where.
2. aus der Unterabfrageanweisung.
select * from (select * from goods order by cat_id,goods_id desc) as gk group by cat_id;
From-Unterabfrage besteht darin, die Ergebnisse der Auswahlabfrage als Tabelle zu verwenden, wie zum Beispiel den fett gedruckten Code oben. 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
select * from category where exists( select * from goods where goods.cat_id=category.cat_id )
Das Vorhandensein im vorherigen Satz wird überprüft (wenn die Kategorie-ID in der Produkttabelle = die Kategorie-ID in der Kategorietabelle), gibt es ein Produkt? 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.
Verwandte Empfehlungen: php-Training
Das obige ist der detaillierte Inhalt vonSo schreiben Sie eine PHP-MySQL-Abfrageanweisung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!