Passer au contenu principal
eLearner.app
Module 2 · Leçon 1 sur 45/57 dans le cours~6 min
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 :

SQL
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

SQL
-- 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

Exercice#sql.m2.l1.e1
Tentatives : 0Chargement…

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.

Chargement de l'éditeur…
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

Exercice#sql.m2.l1.e2
Tentatives : 0Chargement…

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.

Chargement de l'éditeur…
Afficher l'indice

OFFSET 2 saute les 2 premières lignes, LIMIT 3 prend les 3 suivantes.

Solution disponible après 3 tentatives