De query heeft geen invloed op de volgorde waarin de rijen getoond worden.
In SQL kan het resultaat gesorteerd worden met behulp van de component ORDER BY.
Wanneer we een overzicht willen hebben van het adres en de woonplaats van alle rekeninghouders die wonen in Alkmaar gesorteerd op adres dan kan dat met de volgende query:
SELECT adres, plaats
FROM rekeninghouder
WHERE plaats = 'Alkmaar'
ORDER BY adres;
In dit voorbeeld 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 adres, plaats
FROM rekeninghouder
WHERE plaats = 'Alkmaar'
ORDER BY adres DESC;
Wanneer je een overzicht wilt hebben van alle opgenomen of afgeschreven bedragen en de data waarop de transacties hebben plaatsgevonden en je wilt sorteren op bedrag, kan het een probleem worden als sommige bedragen meerdere keren voorkomen. In dat geval kun je de tabel op twee kolommen sorteren. In het resultaat willen we alleen bedragen die hoger zijn dan € 500,00 terugzien.
SELECT transactie_id, datum, bedrag
FROM transactie
WHERE bedrag > 500
ORDER BY bedrag, datum;
Nogmaals: 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 transactie_id, datum, bedrag
FROM transactie
WHERE bedrag > 500
ORDER BY bedrag ASC, datum DESC;