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 '...'.