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]
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.
In einer ORDER-Klausel sind skalare Subqueries nicht erlaubt.
ASC: Die Sortierung erfolgt nach aufsteigenden Werten.
DESC: Die Sortierung erfolgt nach absteigenden Werten.
keine Angabe: Es wird ASC angenommen.
Besteht ein QUERY-Ausdruck aus mehr als einer QUERY-Spezifikation, so ist die Angabe einer Sortierspezifikation nur in der Form <unsigned_integer> [ASC | DESC]zulässig.
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: