Modulelessen (1/4)
Beperken met LIMIT
Een query kan gemakkelijk duizenden (of miljoenen) rijen retourneren. Wanneer jij alleen
een preview wilt hebben — of wanneer u een top-N ranking wilt opbouwen — gebruikt u
de LIMIT clausule:
SELECT <colonne>
FROM <tabella>
[WHERE <condizione>]
[ORDER BY <colonna> [ASC|DESC]]
LIMIT <numero>;LIMIT gaat aan het einde van de zoekopdracht en kapt het resultaat af tot de
gegeven aantal rijen. Op zichzelf is het niet genoeg om een ranking op te bouwen: zonder
ORDER BY, SQL garandeert niet welke rijen u terugkrijgt. De gouden dus
regel is:
Top-N =
ORDER BY+LIMIT.
Voorbeelden
-- Le prime 5 righe della tabella, in ordine arbitrario:
SELECT * FROM employees LIMIT 5;
-- I 3 dipendenti più pagati:
SELECT first_name, last_name, salary
FROM employees
ORDER BY salary DESC
LIMIT 3;
-- I 5 progetti con il budget più basso:
SELECT name, budget
FROM projects
ORDER BY budget ASC
LIMIT 5;Probeer het
Toon de achternaam (last_name) en het salaris (salaris) van de 3 best betaalde werknemers, van hoog naar laag betaald.
Toon hint
Voor de ranking heb je ORDER BY salaris DESC nodig en LIMIT 3 om in de top drie te eindigen.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Sla de 2 best betaalde werknemers over en toon de 3 direct volgende (3e, 4e en 5e in de dalende salarisrangschikking). Gebruik OFFSET na LIMIT.
Toon hint
OFFSET 2 slaat de eerste 2 rijen over, LIMIT 3 neemt de volgende 3.
Oplossing beschikbaar na 3 pogingen