ORDER BY wird in einem SELECT-Befehl genutzt, um die Datensätze nach einen oder mehreren bestimmten Kriterien zu sortieren. Dabei kann aufsteigend oder absteigend auf Grundlage eines Zahlenwerts oder Textwerts sortiert werden:
- ASC: Die Datensätze werden aufsteigend sortiert (Ascending)
- DESC: Die Datensätze werden absteigend sortiert (Descending)
Beachte: Wenn kein Sortierungsparameter mitgegeben wird, wird standardmäßig aufsteigend sortiert.
Die allgemeine ORDER BY-Syntax lautet:
SELECT Column_name FROM Table ORDER BY Column_name [ASC, DESC];
Bei einer Sortierung nach mehreren Spalten lautet der ORDER BY-Befehl:
ORDER BY Column_name1 [ASC, DESC], Column_name2 [ASC, DESC];
Hierbei wird zunächst nach der zuerst genannten Spalte sortiert, dann nach der Zweiten und so weiter.
Beispiele:
Aufsteigende Sortierung nach einer Spalte:
SELECT last_name FROM actor ORDER BY last_name;
Absteigende Sortierung nach einer Spalte:
SELECT last_name FROM actor ORDER BY last_name DESC;
Aufsteigende Sortierung nach mehreren Spalten:
SELECT first_name, last_name FROM actor ORDER BY last_name, first_name;
Hierbei wird zunächst nach der zuerst genannten Spalte „last_name“ sortiert, dann nach der zweiten Spalte „first_name“.
Sortierung nach mehreren Spalten:
Zunächst soll nach „last_name“ absteigend sortiert werden und anschließend aufsteigen nach „first_name“
SELECT first_name, last_name FROM actor ORDER BY last_name DESC, first_name;
ORDER BY in einer WHERE-Bedingung:
Die WHERE-Bedingung steht immer vor dem ORDER BY-Befehl:
SELECT Column_name FROM Table WHERE condition ORDER BY Column_name [ASC, DESC];
Lassen wir uns z.B. alle Schauspieler mit dem Nachnamen „Willis“ ausgeben und dabei die Vornamen aufsteigend sortieren:
SELECT first_name, last_name FROM actor WHERE last_name = ‚WILLIS‘ ORDER BY first_name;