SQL Academy · Les

ORDER BY met één of meerdere kolommen

Sorteer resultaten oplopend of aflopend, sorteer op meerdere kolommen en bepaal waar NULL's terechtkomen met NULLS FIRST / NULLS LAST.

Les 3 van 413 stappen

ORDER BY met één of meerdere kolommen is een gratis SQL Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject SQL Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus SQL Academy bevat in totaal 4 lessen.

Waarom je ORDER BY nodig hebt

Een SQL-tabel is een ongeordende verzameling. Zonder ORDER BY kan de database rijen in elke volgorde teruggeven — en die volgorde kan tussen uitvoeringen veranderen. Als de volgorde in je gebruikersinterface of rapport belangrijk is, sorteer je expliciet.

Sorteren op één kolom

Standaard wordt oplopend gesorteerd:

SELECT id, email FROM users ORDER BY created_at;       -- oldest first
SELECT id, email FROM users ORDER BY created_at ASC;
SELECT id, email FROM users ORDER BY created_at DESC;  -- newest first

Sorteren op meerdere kolommen

Vermeld kolommen in volgorde van prioriteit. De tweede kolom lost gelijke waarden in de eerste op:

SELECT first_name, last_name, age
FROM users
ORDER BY last_name ASC, first_name ASC, age DESC;

Sorteren op een expressie

Je kunt op elke expressie sorteren:

SELECT email, full_name
FROM users
ORDER BY LENGTH(email) DESC, email ASC;

Sorteren op alias of positie

Je kunt verwijzen naar een alias uit de SELECT-lijst of naar de positie ervan, beginnend bij 1:

SELECT id, total * 0.9 AS discounted
FROM orders
ORDER BY discounted DESC;     -- by alias

SELECT id, total
FROM orders
ORDER BY 2 DESC;               -- by position (avoid in code — fragile)

NULLS FIRST / NULLS LAST

Bepaal waar NULL-waarden terechtkomen:

-- Default: NULLs LAST when ASC, FIRST when DESC
SELECT * FROM users ORDER BY last_login_at DESC NULLS LAST;
SELECT * FROM users ORDER BY last_login_at ASC  NULLS FIRST;

Stabiel sorteren en tie-breakers

Als meerdere rijen dezelfde sorteersleutel hebben, kan de database ze in elke volgorde teruggeven. Voeg de primaire sleutel toe als tie-breaker voor deterministische resultaten:

SELECT * FROM orders
ORDER BY created_at DESC, id DESC;

ORDER BY en indexen

Als er een index op de kolom(men) van ORDER BY bestaat, kan de database rijen in de juiste volgorde lezen zonder een afzonderlijke sorteerbewerking.

-- With index on created_at DESC, this can use the index directly:
SELECT * FROM events ORDER BY created_at DESC LIMIT 100;

CASE in ORDER BY

Aangepast sorteren met CASE:

-- Show priority orders first:
SELECT * FROM orders
ORDER BY
  CASE status
    WHEN 'urgent'   THEN 0
    WHEN 'normal'   THEN 1
    ELSE 2
  END,
  created_at DESC;

ORDER BY wordt uitgevoerd na WHERE

ORDER BY werkt op het resultaat van WHERE/GROUP BY/HAVING. Eerst vindt de filtering plaats en daarna het sorteren.

Sorteer geen enorme tabellen zonder LIMIT

Het sorteren van een resultaat met een miljard rijen is duur. Als je alleen de bovenste N nodig hebt, voeg je LIMIT toe — de planner kan dan overschakelen op een Top-N-strategie.

SELECT * FROM events ORDER BY created_at DESC LIMIT 50;

Samenvatting

ORDER BY maakt resultaten deterministisch.

  • ASC / DESC per kolom
  • Meerdere kolommen als tie-breakers
  • NULLS FIRST / LAST wanneer dat relevant is
  • Combineer grote sorteerbewerkingen altijd met LIMIT

Korte controle

Wat is de standaard sorteerrichting in SQL?

Gratis beginnen

Leer SQL met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
46
Lessen
183

Veelgestelde vragen

Is de les “ORDER BY met één of meerdere kolommen” gratis?

Ja — de volledige tekst van “ORDER BY met één of meerdere kolommen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus SQL Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus SQL Academy bevat in totaal 4 lessen.

Wat leer ik in “ORDER BY met één of meerdere kolommen”?

Sorteer resultaten oplopend of aflopend, sorteer op meerdere kolommen en bepaal waar NULL's terechtkomen met NULLS FIRST / NULLS LAST. Je oefent met SQL Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met SQL Academy te beginnen?

Ervaring vooraf is niet nodig. SQL Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “ORDER BY met één of meerdere kolommen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over SQL Academy?

Ja. Elke les over SQL Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Kolommen en expressies selecteren
  2. WHERE-filters: vergelijkings- en logische operatoren
  3. ORDER BY met één of meerdere kolommen
  4. Basisprincipes van LIMIT, OFFSET en paginering
← Terug naar SQL Academy