Wie lautet die Ausführungsreihenfolge der verschiedenen Teile einer SQL-SELECT-Anweisung? Sowie
ausgeprägtes
von
Bestellung von
Gruppe von
einen
haben
Mehrzeilenfunktion (count, avg, max, min ...)
oben (sql server) oder limit (mysql)
andere Teile
Haben die verschiedenen Datenbanken die gleiche Ausführungsreihenfolge?
Vielen Dank.
Sehen Sie sich
anSQL SERVER - Logische Abfrageverarbeitungsphasen - Reihenfolge der Anweisungsausführung
- VON
- EIN
- OUTER
- WO li>
- GROUP BY
- CUBE | ROLLUP
- HABEN
- WÄHLEN
- UNTERSCHEIDEN
- ORDER BY
- OBEN
Auch für einige gute Informationen siehe Logische Abfrageverarbeitung
Die obige Antwort adressiert die Frage, aber es gibt eine Ausnahme zu der oben genannten Reihenfolge
wenn Sie
habenWählen Sie oben n ............
Bestellung von
Dann wird die Reihenfolge nach vor der Auswahl ausgeführt. (Die Einträge werden zuerst sortiert und dann die oberen n Einträge ausgewählt)
Besuchen Sie Ссылка , um eine bessere Erklärung zu erhalten.
Die folgenden Schritte zeigen die logische Verarbeitungsreihenfolge oder Bindungsreihenfolge für eine SELECT-Anweisung. Diese Reihenfolge bestimmt, wann die in einem Schritt definierten Objekte den Klauseln in nachfolgenden Schritten zur Verfügung gestellt werden. Wenn der Abfrageprozessor beispielsweise an die in der FROM-Klausel definierten Tabellen oder Sichten gebunden werden kann (Zugriff), werden diese Objekte und ihre Spalten für alle nachfolgenden Schritte verfügbar gemacht. Umgekehrt, da die SELECT-Klausel Schritt 8 ist, kann auf alle Spaltenaliasnamen oder abgeleiteten Spalten, die in dieser Klausel definiert sind, nicht mit den vorhergehenden Klauseln verwiesen werden. Sie können jedoch durch nachfolgende Klauseln wie die ORDER BY-Klausel referenziert werden. Beachten Sie, dass die tatsächliche physische Ausführung der Anweisung vom Abfrageprozessor bestimmt wird und die Reihenfolge von dieser Liste abweichen kann.
VON
EIN
VERBINDEN
WO p>
GROUP BY
MIT CUBE oder MIT ROLLUP
HABEN
WÄHLEN
DISTINCT
ORDER BY
OBEN
Tags und Links sql