## ORDER-Klausel (order_clause)

Die ORDER-Klausel (order_clause) spezifiziert eine Sortierreihenfolge für eine Ergebnistabelle.

### Syntax

<order_clause> ::= ORDER BY <sort_spec>,...

<sort_spec> ::= <unsigned_integer> [ASC | DESC]
| <expression> [ASC | DESC]

### Beispiele

SQL-Tutorial, Auswählen und Anordnen von Zeilen

### Erläuterung

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.

#### ASC/DESC

Wenn Sie keine Angaben machen, wird ASC angenommen.

● ASC: Die Sortierung erfolgt nach aufsteigenden Werten.

● DESC: Die Sortierung erfolgt nach absteigenden Werten.

#### Weitere Informationen

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-Wert e größer als Nicht-NULL-Werte und Spezial-NULL-Wert e größer als Nicht-NULL-Werte aber kleiner als NULL-Werte.

Siehe auch:

Restriktionen für SQL-Anweisungen

SELECT-Anweisung (select_statement)