Leçons du module (1/4)
Limiter avec LIMIT
Une requête peut facilement renvoyer des milliers (ou des millions) de lignes. Quand tu es seulement
voulez un aperçu - ou lorsque vous souhaitez créer un classement top-N - vous utilisez
la clause LIMIT :
SELECT <colonne>
FROM <tabella>
[WHERE <condizione>]
[ORDER BY <colonna> [ASC|DESC]]
LIMIT <numero>;LIMIT va à la fin de la requête et tronque le résultat au
nombre de lignes donné. Il ne suffit pas à lui seul de construire un classement : sans
ORDER BY, SQL ne garantit pas quelles lignes vous récupérez. Alors l'or
la règle est :
Haut-N =
ORDER BY+LIMIT.
Exemples
-- 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;Essayez-le
Afficher le nom de famille (last_name) et le salaire (salaire) des 3 employés les mieux payés, du mieux payé au moins bien.
Afficher l'indice
Il vous faut ORDER BY salaire DESC pour le classement et LIMITE 3 pour vous arrêter dans les trois premiers.
Solution disponible après 3 tentatives
Exercice de révision
Ignorez les 2 employés les mieux payés et affichez les 3 qui suivent immédiatement (3e, 4e et 5e dans le classement décroissant des salaires). Utilisez OFFSET après LIMIT.
Afficher l'indice
OFFSET 2 saute les 2 premières lignes, LIMIT 3 prend les 3 suivantes.
Solution disponible après 3 tentatives