2010-04-11 4 views

Antwort

13

Werfen Sie einen Blick auf

SQL SERVER – Logical Query Processing Phases – Order of Statement Execution

  1. VON
  2. AUF
  3. OUTER
  4. WHERE
  5. GROUP BY
  6. CUBE | ROLLUP
  7. MIT
  8. SELECT
  9. DISTINCT
  10. ORDER BY
  11. TOP

Auch für ein paar gute Informationen Logical Query Processing

+0

Wo UNION in dieser Reihenfolge passen? –

+0

@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. –

2

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)

0

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

Verwandte Themen