Problem:
Sie möchten Datensätze aus einer Tabelle in alphabetischer oder umgekehrt alphabetischer Reihenfolge entsprechend der angegebenen Spalte anzeigen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens Kunde. Die Kundentabelle enthält Daten in den Spalten id, first_name und last_name.
id | Vorname | Nachname |
---|---|---|
1 | Susanne | Thomas |
2 | Johannes | Michael |
3 | Tom | Müller |
Lassen Sie uns die Informationen jedes Kunden anzeigen, sortiert in aufsteigender Reihenfolge nach seinem Nachnamen.
Lösung:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
Diese Abfrage gibt alphabetisch sortierte Datensätze zurück:
id | Vorname | Nachname |
---|---|---|
2 | Johannes | Michael |
3 | Tom | Müller |
1 | Susanne | Thomas |
Diskussion:
Wenn Sie Datensätze aus einer Tabelle auswählen möchten, diese aber nach einer bestimmten Spalte sortiert sehen möchten, können Sie einfach den ORDER BY
verwenden -Klausel am Ende eines SELECT
Erklärung. Es spielt keine Rolle, wie kompliziert oder lang Ihre SQL-Abfrage ist – ORDER BY
sollte immer am Ende des Befehls stehen.
Nach dem ORDER BY
Stichwort nennen Sie die Spalte, nach der die Datensätze sortiert werden sollen. In unserer Abfrage sortieren wir nach dem Nachnamen des Kunden.
oder
Standardmäßig ORDER BY
ohne zusätzliche Bezeichner sortiert in aufsteigender Reihenfolge (entspricht der Verwendung von ASC
Schlüsselwort explizit). Wie Sie wahrscheinlich erraten können, ASC
steht für „aufsteigend“. Wenn Sie absteigend sortieren möchten, geben Sie einfach den DESC
an Schlüsselwort nach dem Spaltennamen.
Die folgende Abfrage ähnelt der vorherigen, gibt jedoch eine Liste von Kunden zurück, die in absteigender Reihenfolge nach ihrem Nachnamen sortiert sind:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
id | Vorname | Nachname |
---|---|---|
1 | Susanne | Thomas |
3 | Tom | Müller |
2 | Johannes | Michael |