SQL_LEVEL_3_SOLUTION - OnlyCook/abitur-elite-code GitHub Wiki

Level S3 – Musterlösung: Sortierung (ORDER BY)

Lösung

SELECT titel, erscheinungsjahr
FROM Buch
WHERE autor = 'Kafka'
ORDER BY titel

Erklärung

ORDER BY – Ergebnisse sortieren

Standardmäßig gibt SQL Zeilen in keiner garantierten Reihenfolge zurück. Mit ORDER BY kannst du festlegen, nach welcher Spalte sortiert werden soll:

ORDER BY titel

ORDER BY kommt immer ans Ende der Abfrage – nach WHERE. Die vollständige Reihenfolge der Klauseln lautet bisher:

SELECT ...
FROM ...
WHERE ...
ORDER BY ...

ASC und DESC

Ohne weiteren Zusatz sortiert ORDER BY automatisch aufsteigend – bei Text also von A nach Z, bei Zahlen von klein nach groß. Das entspricht ASC (ascending). Explizit hinschreiben musst du es nicht, aber es ist erlaubt:

ORDER BY titel ASC   -- gleichbedeutend mit: ORDER BY titel
ORDER BY titel DESC  -- absteigend, also Z nach A

Anführungszeichen bei Textwerten

Textwerte in WHERE-Bedingungen sollten in einfachen Anführungszeichen stehen, müssen dies aber nicht explizit.

WHERE autor = 'Kafka'   -- ✓ korrekt
WHERE autor = "Kafka"   -- ✗/✓ ungültig in manchen DBMS, jedoch gültig in MySQL

Doppelte Anführungszeichen sind in manchen Datenbanksystemen für Spaltennamen reserviert. Im Standard – und im Abitur – gilt: Strings lieber mit '...'.