Die ORDER-Klausel (order_clause) spezifiziert eine Sortierreihenfolge für eine Ergebnistabelle.
<order_clause> ::= ORDER BY <sort_spec>,...
<sort_spec> ::= <unsigned_integer> [ASC | DESC]
|
<expression>
[ASC | DESC]
SQL-Tutorial, Auswählen und Anordnen von Zeilen
Die in der ORDER-Klausel angegebenen Sortierspalten legen die Reihenfolge der Sortierkriterien fest.
Eine in der Sortierspezifikation sort_spec angegebene Zahl n identifiziert die n-te Spalte der Ergebnistabelle. n muss kleiner oder gleich der Anzahl der Spalten der Ergebnistabelle sein.
Besteht ein QUERY-Ausdruck aus mehr als einer QUERY-Spezifikation, so ist die Angabe einer Sortierspezifikation nur in einer der folgenden Formen zulässig:
<sort_spec> ::= <unsigned_integer> [ASC | DESC]
|
<column_spec> [ASC | DESC]
Als Spaltenspezifikation column_spec können Sie in diesem Fall entweder einen Referenznamen reference_name oder einen Spaltenamen column_name aus der Liste der selektierten Spalten der ersten QUERY-Spezifikation wählen.
In einer ORDER-Klausel sind skalare Subqueries nicht erlaubt.
Wenn Sie keine Angaben machen, wird ASC angenommen.
● ASC: Die Sortierung erfolgt nach aufsteigenden Werten.
● DESC: Die Sortierung erfolgt nach absteigenden Werten.
Wenn eine QUERY-Spezifikation mit DISTINCT spezifiziert wurde, darf die Summe der internen Längen aller Sortierspalten 1016 Zeichen nicht überschreiten, andernfalls 1020 Zeichen.
Spaltennamen in den Sortierspezifikationen müssen Spalten der Tabellen der FROM-Klausel sein oder einen result_column_name in den selektierten Spalten der QUERY-Spezifikation bezeichnen.
Wenn DISTINCT oder eine Set-Funktion in einer selektierten Spalte verwendet wurde, muss die Sortierspezifikation eine Spalte der Ergebnistabelle bezeichnen.
Der Vergleich von Werten erfolgt nach den Regeln des Vergleichsprädikats. Bei Sortierungen sind NULL-Werte größer als Nicht-NULL-Werte und Spezial-NULL-Werte größer als Nicht-NULL-Werte aber kleiner als NULL-Werte.
Siehe auch: