Verstehen Sie einfach die Schreib- und Ausführungsreihenfolge von MySQL-Anweisungen

Verstehen Sie einfach die Schreib- und Ausführungsreihenfolge von MySQL-Anweisungen

Es gibt einen großen Unterschied zwischen der Schreibreihenfolge und der Ausführungsreihenfolge von MySQL-Anweisungen.

Schreibreihenfolge, die allgemeine Schreibreihenfolge von MySQL ist:

wählen
<Zurückzugebende Datenspalten>
aus
<Tabellenname>
<verbinden, links verbinden, rechts verbinden...> verbinden
<Tabelle verbinden>
An
<Joinbedingung>
Wo
<Where-Bedingung>
Gruppieren nach
<Gruppierungsbedingung>
haben
<Filterbedingungen nach Gruppierung>
Bestellen bis
<Sortierkriterien>
Limit
<Zeilenbegrenzung>

Die Ausführungsreihenfolge lautet jedoch:

aus
<Tabellenname> # Kartesisches Produkt
An
<Filterbedingungen> #Filtern Sie die virtuelle Tabelle des kartesischen Produkts
<verbinden, links verbinden, rechts verbinden...> verbinden
<Join-Tabelle> #Geben Sie den Join an, der verwendet wird, um der virtuellen Tabelle nach on Daten hinzuzufügen. Beispielsweise fügt left join die verbleibenden Daten der linken Tabelle der virtuellen Tabelle hinzu.
Wo
<where-Bedingung> #Filtern Sie die obige virtuelle Tabelle
Gruppieren nach
<Gruppierungsbedingungen> #Gruppe
<sum() und andere Aggregatfunktionen> #Wird in der Having-Klausel für das Urteil verwendet. In der Schrift wird diese Art von Aggregatfunktion in das Having-Urteil geschrieben
haben
<Gruppierungsfilter> # Aggregieren und filtern Sie die gruppierten Ergebnisse
wählen
<Datenliste zurückgeben> #Die zurückgegebene einzelne Spalte muss in der Group-By-Klausel enthalten sein, mit Ausnahme von Aggregatfunktionen
unterscheidbar
Bestellen bis
<Sortierbedingungen> #Sortierung
Limit
<Zeilenbegrenzung>

Teilerklärung:

1. von: select * from table_1, table_2; Das Ergebnis ist dasselbe wie select * from table_1 join table_2;, die beide verwendet werden, um das kartesische Produkt zu finden.

Es wird verwendet, um das kartesische Produkt zweier Tabellen direkt zu berechnen und so die virtuelle Tabelle VT1 zu erhalten. Dies ist die erste Operation, die von allen Select-Anweisungen ausgeführt wird. Andere Operationen werden an dieser Tabelle ausgeführt, was durch die From-Operation abgeschlossen wird.

2. ein: Filtern Sie die qualifizierten Daten aus der VT1-Tabelle, um die VT2-Tabelle zu bilden;

3. Join: Fügen Sie die Daten dieses Join-Typs zur VT2-Tabelle hinzu. Beispielsweise fügt Left Join die verbleibenden Daten der linken Tabelle zur virtuellen Tabelle VT2 hinzu, um die VT3-Tabelle zu bilden. Wenn die Anzahl der Tabellen größer als 2 ist, werden die Schritte 1 bis 3 wiederholt.

4. wobei: Führen Sie den Filter aus (Aggregatfunktionen können nicht verwendet werden), um die VT4-Tabelle zu erhalten;

5. group by: Gruppieren Sie die VT4-Tabelle, um die VT5-Tabelle zu erhalten. Die in den nachfolgenden Verarbeitungsanweisungen verwendeten Spalten, wie z. B. select und having, müssen in der group by-Bedingung enthalten sein. Wenn sie nicht enthalten sind, muss eine Aggregatfunktion verwendet werden.

6. haben: Filtern Sie die gruppierten Daten, um die VT6-Tabelle zu erhalten;

7. Auswählen: Geben Sie die Spalten zurück, um die VT7-Tabelle zu erhalten.

8. distinct: wird verwendet, um Duplikate zu entfernen und die VT8-Tabelle zu erhalten;

9. order by: wird zum Sortieren und Abrufen der VT9-Tabelle verwendet;

10. Limit: Gibt die erforderliche Zeilenanzahl zurück und erhält VT10;

Beachten:

In der Gruppierungsbedingung muss jede Spalte eine gültige Spalte sein und darf keine Aggregatfunktion sein.

Nullwerte werden auch als Gruppe zurückgegeben;

Mit Ausnahme von Aggregatfunktionen müssen die Spalten in der Select-Klausel in der Group-By-Bedingung enthalten sein.

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:
  • Analyse der Anweisungsausführungsreihenfolge von SQL und MySQL
  • Grafische Beschreibung der Ausführungsreihenfolge von SQL-Anweisungen
  • Detaillierte Erläuterung der Ausführung von SQL-Anweisungen (Übersicht über die MySQL-Architektur -> Abfrageausführungsprozess -> SQL-Analysereihenfolge)
  • Lernen Sie die Ausführungsreihenfolge von SQL-Abfragen von Grund auf
  • Detaillierte Erläuterung der Schreibreihenfolge und Ausführungsreihenfolge von SQL-Abfrageanweisungen der MySQL-Reihe

<<:  Befehlsliste des Baota Linux-Panels

>>:  JavaScript-Datenvisualisierung: ECharts-Kartenerstellung

Artikel empfehlen

Detaillierte Erklärung zur Verwendung von MySQL, wobei

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

React DVA-Implementierungscode

Inhaltsverzeichnis dva Verwendung von dva Impleme...

TCP-Socket-SYN-Warteschlange und Accept-Warteschlangen-Unterschiedsanalyse

Zunächst müssen wir verstehen, dass ein TCP-Socke...

Ähnlich wie HTML-Tags: strong und em, q, cite, blockquote

Es gibt einige Tags in XHTML, die ähnliche Funkti...

Drei Prinzipien effizienten Navigationsdesigns, die Webdesigner kennen müssen

Das Entwerfen der Navigation für eine Website ist...

Implementierung der MySQL GRANT-Benutzerautorisierung

Bei der Autorisierung geht es darum, einem Benutz...

Deinstallieren der MySQL-Datenbank unter Linux

Wie deinstalliere ich eine MySQL-Datenbank unter ...

CSS-Overflow-Wrap – Verwendung neuer Eigenschaftswerte überall

1. Verstehen Sie zunächst das Overflow-Wrap-Attri...

CSS-Tutorial: CSS-Attribut-Medientyp

Eines der wichtigsten Merkmale eines Stylesheets ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.24

MySQL ist das beliebteste relationale Datenbankma...

So erstellen Sie einen Trigger in MySQL

In diesem Artikelbeispiel wird der spezifische Co...

So implementieren Sie Polygonbrechung in Echtzeit mit Threejs

Inhaltsverzeichnis Vorwort Schritt 1: Aufbau und ...