SQL: Handhabung von Null-Werten beim Sortieren

Aus DBWiki
Wechseln zu: Navigation, Suche

Zurück zur Übersicht



Einige SQL-Dialekte lassen es zu, die Position von Null-Werten hinter der Sortierrichtung in der ORDER BY-Klausel anzugeben. Jet-SQL bietet diese Option nicht, und stellt Null-Werte bei aufsteigender Sortierung immer an den Anfang, bzw. bei absteigender Sortierung an's Ende. Eine mögliche Lösung besteht darin, Null-Werte in sortierbare Bool'sche Werte umzuwandeln.

Lösung für Jet-SQL

Hinweis für Access-Anwender
Um die folgende Abfrage selbst testen zu können, müssen die Tabellen der Übungsdatenbank vorhanden sein.


Sollen z. B. die Mitarbeiter aufsteigend nach Provision ausgegeben werden, kann die Abfrage wie folgt formuliert werden:

SELECT ma_name, gehalt, gehalt, provision
FROM   mitarbeiter
WHERE  provision IS NULL DESC, provision
ma_name gehalt provision
Dreher 1500 0
Allard 1600 300
Wecker 1250 500
Mertens 1250 1400
Müller 1300 (Null)
Jakobs 950 (Null)
Adam 1100 (Null)
Scheidt 3000 (Null)
Kühne 2450 (Null)
Blank 2850 (Null)
Schmidt 800 (Null)
Fuhrmann 3000 (Null)
Johann 2975 (Null)
König 5000 (Null)



Zurück zur Übersicht