Wie lautet die Ausführungsreihenfolge der verschiedenen Teile einer SQL-Select-Anweisung? Wie
deutliche
von
Sortieren nach
Gruppe von
mehrzeilige Funktion (count, avg, max, min ...)
top (SQL-Server) oder zu begrenzen (mysql)
andere Teile
Haben die verschiedenen Datenbanken die gleiche Ausführungsreihenfolge? Vielen Dank.Wie lautet die Ausführungsreihenfolge der verschiedenen Teile einer SQL-Select-Anweisung?
Antwort
Werfen Sie einen Blick auf
SQL SERVER – Logical Query Processing Phases – Order of Statement Execution
- VON
- AUF
- OUTER
- WHERE
- GROUP BY
- CUBE | ROLLUP
- MIT
- SELECT
- DISTINCT
- ORDER BY
- TOP
Auch für ein paar gute Informationen Logical Query Processing
Die obige Antwort ist die Frage sehen, aber es ist eine Ausnahme zu der oben genannten Reihenfolge
wenn Sie
wählen top n ............
Auftrag von
Dann Reihenfolge durch, bevor wählen ausgeführt werden. (die Einträge werden zuerst bestellt und dann werden die oberen n Einträge ausgewählt)
Besuchen Sie https://msdn.microsoft.com/en-us/library/ms189499.aspx für eine bessere Erklärung.
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.
FROM
ON
JOIN
WHERE
GROUP BY
MIT Würfels oder MIT ROLLUP-
HAVING
SELECT
DISTINCT
ORDER BY
TOP
- 1. cloud-init: Wie lautet die Ausführungsreihenfolge der cloud-config-Anweisungen?
- 2. Ausführungsreihenfolge der ActionScript-Ereignishandler
- 3. Wie erhalte ich die verschiedenen Teile der URL einer Flask-Anfrage?
- 4. Wie teile ich Daten in verschiedenen Klassen
- 5. Namen und die maximale Länge der Teile einer URL
- 6. Wie lautet die Formel für die Berechnung einer durchschnittlichen Bewertung von Bewertungen aus verschiedenen Quellen?
- 7. Ausführungsreihenfolge
- 8. Ausführungsreihenfolge der Winkelmessertests
- 9. Wie lautet der Name einer solchen Notation?
- 10. Wie lautet die Reihenfolge der Konstruktorauflösung?
- 11. Wie lautet die Standardcodierung der JVM?
- 12. Angular-translate: Übersetze verschiedene Teile der Seite mit verschiedenen Sprachen
- 13. Wie lautet der Name?
- 14. Wie lautet der Name dieses Problems?
- 15. Wie teile ich Variablen zwischen verschiedenen importierten Dateien?
- 16. Wie lautet der Begriff "fangen" einen Rückgabewert?
- 17. Wie teile ich POM-Fragmente zwischen verschiedenen POMs?
- 18. ASP.Net Ausführungsreihenfolge
- 19. Wie lautet die Cookie-Punktregel?
- 20. Wie lautet die Editor-URL?
- 21. Wie lautet die LINQ'sche Methode?
- 22. Funktion Ausführungsreihenfolge in einer if-Anweisung php
- 23. Wie lautet der GOMAXPROCS-Standardwert
- 24. JavaScript-Funktion Ausführungsreihenfolge
- 25. Wie lautet der SQL-Indexname?
- 26. Wie kann ich die Ausführungsreihenfolge von Javascript steuern?
- 27. Wie teile ich ein Diktat unter verschiedenen Python-Prozessen?
- 28. Testfall Ausführungsreihenfolge in Pytest
- 29. Wie lautet die standardmäßige Aufrufkonvention einer C++ - Lambda-Funktion?
- 30. Wie lautet die Designklasseneigenschaft einer Datei in einem Projekt?
Wo UNION in dieser Reihenfolge passen? –
@WalterMitty Ich weiß, dass Sie Ihre Frage vor sehr langer Zeit gestellt haben, aber "UNION" und "UNION ALL" sind Möglichkeiten, zwei separate Abfragen miteinander zu verbinden, so dass das oben für die erste Abfrage, dann die zweite Abfrage, dann die passieren würde "UNION" der beiden Ergebnisse würde durchgeführt werden. –