Datensätze sortieren mit ORDER BY
Syntax von ORDER BY
[ORDER BY Attribut [, Attribut] [ASC|DESC]]
Schon ein paar Mal tauchte die Frage der Sortierung auf.
Geben Sie nichts an, wird die Abfrage der Datensätze zufällig resp. je nach Datenbank in der Reihenfolge ihrer Erfassung ausgegeben.
Sortieren ist ganz einfach und sieht wieder in der einfachsten Version wie folgt aus:
SELECT * FROM tblKunden ORDER BY tNachname, tVorname;
Das ergibt folgende Liste:
Beachten Sie, dass zuerst nach tNachname und dann nach tVorname sortiert wird. Somit erscheint der Thomas nach dem Bernardo.
Aufgabe 1
Erstellen Sie eine Abfrage nur mit den Feldern tNachname und tVorname. Sortieren Sie die Liste zuerst nach tVorname und dann erst nach tNachname.
Rückwärts sortieren
Pro Sortierfeld können Sie angeben, ob Sie es aufsteigend (ASC) oder absteigend (DESC) sortieren möchten.
Geben Sie weder ASC noch DESC an, wird standardmässig ASC verwendet.
Der folgende SQL-Befehl gibt eine Liste rückwärts sortiert nach Nachname aus:
SELECT tNachname, tVorname FROM tblKunden ORDER BY tNachname DESC;
Das ergibt bei SQLite folgende Liste:
Aufgabe 2
Betrachten Sie Ihre erhaltene Liste. Wonach ist die Spalte tVorname sortiert? Fällt Ihnen was auf?
Tipp: schauen Sie mal die beiden "Meier" und "Maier" an.
Aufgabe 3
Erstellen Sie eine Abfrage nur mit den Feldern tNachname und tVorname. Sortieren Sie die Liste zuerst rückwärts nach tNachname und dann vorwärts nach tVorname.
Rückwärts, vorwärts, aufsteigend, absteigend...ja, was jetzt?
Lassen Sie sich von den Begriffen nicht verwirren.
- Vorwärts ist das Gleiche wie aufsteigend, also A..Z
- Rückwärts ist das Gleiche wie absteigend, also Z..A