Die vollständige Syntax der SELECT-Anweisung lautet: (7) AUSWÄHLEN (8) DISTINCT <Auswahlliste> (1) FROM <linke_Tabelle> (3) <join_type> JOIN <rechte_Tabelle> (2) ON <Beitrittsbedingung> (4) WHERE <Wo_Bedingung> (5) GRUPPE NACH <Gruppenliste> (6) HAVING <Haben_Bedingung> (9) ORDER BY <order_by_condition> (10) LIMIT <Grenzwert> Hinweis: Die Sequenznummer vor der Syntax ist die SELECT-Ausführungsreihenfolge Die MySQL SELECT-Ausführungsreihenfolge ist in 10 Schritte unterteilt. Wie oben markiert, ist die erste auszuführende Operation die FROM-Operation und die letzte auszuführende Operation die LIMIT-Operation. Jeder Vorgang generiert eine virtuelle Tabelle, die als Eingabe für die Verarbeitung verwendet wird. Diese virtuellen Tabellen sind für den Benutzer transparent, aber nur die letzte virtuelle Tabelle wird als Ergebnis zurückgegeben. Wenn in der Anweisung eine Klausel nicht angegeben ist, wird der entsprechende Schritt übersprungen. Sehen wir uns die einzelnen Phasen der Abfrageverarbeitung genauer an. WÄHLEN Sie a.customer_id, COUNT(b.order_id) als total_orders VON Tabelle1 ALS LEFT JOIN Tabelle2 AS b EIN a.Kunden-ID = b.Kunden-ID WO a.Stadt = "Hangzhou" GRUPPE NACH a.customer_id HAVING Anzahl(b.order_id) < 2 ORDER BY total_orders DESC; 1. FORM: Berechnen Sie das kartesische Produkt der Tabelle links und der Tabelle rechts von FROM, um die virtuelle Tabelle VT1 zu generieren. 2. ON: Führen Sie eine ON-Filterung für die virtuelle Tabelle VT1 durch. In der virtuellen Tabelle VT2 werden nur die Zeilen aufgezeichnet, die die <Join-Bedingung> erfüllen. 3. JOIN: Wenn OUTER JOIN angegeben ist (z. B. Left Join, Right Join), werden die nicht übereinstimmenden Zeilen in der beibehaltenen Tabelle der virtuellen Tabelle VT2 als externe Zeilen hinzugefügt, wodurch die virtuelle Tabelle VT3 generiert wird. 4. WHERE: Filtern Sie die virtuelle Tabelle VT3 basierend auf der WHERE-Bedingung. Nur Datensätze, die die <Where-Bedingung> erfüllen, werden in die virtuelle Tabelle VT4 eingefügt. 5. GROUP BY: Gruppieren Sie die Datensätze in VT4 gemäß den Spalten in der Group-By-Klausel, um VT5 zu generieren. 6. HAVING: Wenden Sie die Having-Filterung auf die virtuelle Tabelle VT5 an, und nur Datensätze, die die <Having-Bedingung> erfüllen, werden in die virtuelle Tabelle VT6 eingefügt. 7. SELECT: Führen Sie den Auswahlvorgang aus, wählen Sie die angegebene Spalte aus und fügen Sie sie in die virtuelle Tabelle VT7 ein. 8. DISTINCT: Entfernen Sie doppelte Datensätze in VT7. Generieren Sie eine virtuelle Tabelle VT8. 9. ORDER BY: Sortieren Sie die Datensätze in der virtuellen Tabelle VT8 gemäß <order_by_list>, um die virtuelle Tabelle VT9 zu generieren. 10. LIMIT: Nehmen Sie die Datensätze der angegebenen Zeile heraus, generieren Sie die virtuelle Tabelle VT10 und geben Sie das Ergebnis zurück. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Der Unterschied und die Verwendung von Strg+z, Strg+c und Strg+d in Linux-Befehlen
>>: Detaillierte Beispiele für Variablen- und Funktionspromotion in JavaScript
Aktivieren Sie Remote-Zugriffsrechte für MySQL My...
Als ich kürzlich kazam in Ubuntu 20.04 zur Aufzei...
In diesem Artikelbeispiel wird der spezifische Co...
Überblick Backup ist die Grundlage der Notfallwie...
1. Bereiten Sie sich im Voraus vor Zu Ihrer Beque...
Vorwort Vor kurzem bin ich auf ein interessantes ...
Wenn wir eine Webseite erstellen, möchten wir man...
Vorwort In der Vergangenheit habe ich die Python-...
Öffnen Sie eine beliebige Webseite, zum Beispiel ...
Wie üblich werde ich heute über einen sehr prakti...
Dieser Artikel stellt die Wirkung der Produktanze...
Inhaltsverzeichnis Verwendete Pygame-Funktionen E...
Vue - Implementierung der Shuttle-Box-Funktion. D...
Ich habe kürzlich Django bereitgestellt und wollt...
Ich habe gesehen, dass die Taobao-Webseite Import ...