Order By

De queries die we tot nu toe hebben gemaakt leveren lijsten die niet gesorteerd zijn, terwijl dat best handig kan zijn. Willen we een lijst dat alfabetisch gesorteerd is op voornaam, achternaam, woonplaats of misschien wel een andere kolom, dan kan je het resultaat sorteren m.b.v. de clausule ORDER BY. Wanneer de beheerder vraagt om de telefoonlijst van alle klanten op achternaam te sorteren, dan kan dat bijvoorbeeld met de volgende query:

select FirstName, Lastname, Phone
from customer
order by LastName;

Wanneer je de lijst met telefoonnummers wilt sorteren op achternaam, kan het een probleem worden als sommige achternamen meerdere keren voorkomen. In dat geval kun je de tabel op twee kolommen sorteren:

select FirstName, Lastname, Phone
from customer
order by LastName, Phone;

In beide voorbeelden wordt de tabel oplopend gesorteerd: teksten volgens de ASCII-tabel,

getallen en datums van klein naar groot. Het is ook mogelijk om de volgorde om te keren: aflopend sorteren. De Engelse termen daarvoor zijn ‘ascending’ en ‘descending’ (ASC en DESC).

Wanneer je er niets bij zet, wordt automatisch oplopend gesorteerd. Om aflopend te sorteren moet je dat achter de kolom in ORDER BY zetten.

select FirstName, Lastname, Phone
from customer
order by LastName DESC, Phone DESC;

2.3 Oefening

Maak een lijst van alle klanten (voornaam, achternaam en land) gesorteerd op land en binnen het land op achternaam.

Last updated