3.3 ORDER BY

Die Datensätze im Abfrageergebnis werden nach bestimmten Kriterien aufsteigend beziehungsweise absteigend sortiert.

Werden mehrere Spalten angegeben, so wird das Abfrageergebnis geschachtelt sortiert. Dabei wird zunächst nach der zuerst genannten Spalte sortiert. Wenn mehrere Datensätze in dieser Spalte gleiche Werte besitzen, werden diese dann jeweils nach der als zweites Sortierkriterium genannten Spalte sortiert usw.

Beispiele
  1. Wähle aus der Tabelle Kunde die Spalten Vorname und Nachname aus. Sortiere das Abfrageergebnis absteigend nach der Spalte Nachname.
    SQL
    SELECT Vorname, Nachname
    FROM Kunde
    ORDER BY Nachname DESC;
    Abb. 3-16: SQL – absteigend sortieren

    Abfrageergebnis

    Vorname Nachname
    Anja Sommer
    Max Maier
    Eva Maier
    Fritz Haug
    Abb. 3-17: Abfrageergebnis der SQL-Anweisung aus Abb. 3-16.
  2. Wähle aus der Tabelle Kunde die Spalten Vorname und Nachname aus. Sortiere das Abfrageergebnis aufsteigend nach der Spalte Nachname.
    SQL
    SELECT Vorname, Nachname
    FROM Kunde
    ORDER BY Nachname ASC;
    Abb. 3-18: SQL – aufsteigend sortierene

    Abfrageergebnis

    Vorname Nachname
    Fritz Haug
    Max Maier
    Eva Maier
    Anja Sommer
    Abb. 3-19: Abfrageergebnis der SQL-Anweisung aus Abb. 3-18.
  3. Wähle aus der Tabelle Kunde die Spalten Vorname und Nachname aus. Sortiere das Abfrageergebnis aufsteigend nach der Spalte Nachname. Bei gleichem Nachnamen soll die Sortierreihenfolge aufsteigend nach dem Vornamen erfolgen.
    SQL
    SELECT Vorname, Nachname
    FROM Kunde
    ORDER BY Nachname ASC, Vorname ASC;
    Abb. 3-20: SQL – Nach zwei Kriterien sortieren

    Abfrageergebnis

    Vorname Nachname
    Fritz Haug
    Eva Maier
    Max Maier
    Anja Sommer
    Abb. 3-21: Abfrageergebnis der SQL-Anweisung aus Abb. 3-20.
SQL
SELECT [DISTINCT] spalte [, ...]
FROM tabelle
[ORDER BY {spalte [ASC|DESC]} [, ...]];
Abb. 3-22: SQL Syntax – SELECT-Anweisung inklusive ORDER BY-Abschnitt
Merke: Das Abfrageergebnis sortieren.
Aufgabe

Aufgabe 3-3: Sortierung

Datenbank Firmenwagen

Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt:

  1. von allen Versicherungsverträgen jeweils die Versicherungsnummer sowie den Beitrag, sortiert (absteigend) nach dem Beitrag, Lösung
    Lösung
    SQL
    SELECT VersNr, Beitrag
    FROM Versicherungsvertrag
    ORDER BY Beitrag DESC;
    Abb. 3-23: SQL-Anweisung
  2. Beginn, Ende und Zweck aller Reservierungen, sortiert zuerst nach dem Beginn (aufsteigend) und bei gleichem Beginn nach dem Ende der Reservierung (aufsteigend), Lösung
    Lösung
    SQL
    SELECT Beginn, Ende, Zweck
    FROM Reservierung
    ORDER BY Beginn ASC, Ende ASC;
    Abb. 3-24: SQL-Anweisung
  3. Anschaffungsdatum, Anschaffungskosten und Kennzeichen aller Firmenwagen, sortiert zuerst nach dem Anschaffungsdatum (aufsteigend) und bei gleichem Anschaffungsdatum nach den Anschaffungskosten (absteigend). Lösung
    Lösung
    SQL
    SELECT Anschaffungsdatum, Anschaffungskosten, Kennzeichen
    FROM Fahrzeug
    ORDER BY Anschaffungsdatum ASC, Anschaffungskosten DESC;
    Abb. 3-25: SQL-Anweisung