Heim >Themen >php mysql >So schreiben Sie eine PHP-MySQL-Abfrageanweisung

So schreiben Sie eine PHP-MySQL-Abfrageanweisung

王林
王林Original
2020-11-03 13:45:363807Durchsuche

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);].

So schreiben Sie eine PHP-MySQL-Abfrageanweisung

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.

So schreiben Sie eine PHP-MySQL-Abfrageanweisung

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!

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