Limiter les lignes retournées
Objectif : Limiter le nombre de lignes retournées par une requête pour parcourir une liste ou consulter un nombre défini de résultats.
Quand une table contient beaucoup de lignes, afficher la totalité des résultats peut compliquer leur consultation. Avec LIMIT, vous demandez à MariaDB de ne renvoyer qu’un nombre défini de lignes.
Vous pouvez ainsi consulter un petit échantillon d’œuvres ou limiter le nombre d’adhérents affichés. Dans cette leçon, vous ajoutez des exemples autonomes à requetes.sql, à la suite des requêtes déjà présentes dans le projet.
Limiter une liste de résultats
La clause LIMIT se place à la fin de la requête et reçoit un entier positif ou nul. Elle fixe le nombre maximal de lignes renvoyées : LIMIT 5 signifie que le résultat contiendra au plus cinq lignes, même si la table en contient davantage.
-- Afficher au plus cinq œuvres
SELECT id_oeuvre, titre, type_oeuvre
FROM oeuvres
LIMIT 5;La requête renvoie au maximum cinq lignes, avec l’identifiant, le titre et le type de chaque œuvre.Ici, vous ne filtrez pas les œuvres : vous réduisez seulement la quantité de lignes affichées. Si la table oeuvres contient moins de cinq lignes, MariaDB renvoie toutes les lignes disponibles ; si elle est vide, le résultat est vide.
Combiner LIMIT avec les clauses déjà utilisées
Vous pouvez aussi limiter une liste filtrée. La requête ci-dessous reprend une condition sur la date d’inscription : elle ne conserve que les adhérents inscrits pendant l’année 2024, puis affiche au plus dix lignes.
-- Afficher au plus dix adhérents inscrits en 2024
SELECT nom, prenom, date_inscription
FROM adherents
WHERE date_inscription BETWEEN '2024-01-01' AND '2024-12-31'
LIMIT 10;La requête renvoie au plus dix adhérents inscrits entre le 1er janvier et le 31 décembre 2024. Les colonnes affichées sont nom, prénom et date d’inscription.Sans tri, cette requête ne demande pas un ordre particulier pour les lignes. Si vous souhaitez obtenir les premières lignes selon un classement précis, vous pouvez reprendre ORDER BY, vu dans la leçon précédente, puis ajouter LIMIT à la fin.
-- Afficher les trois œuvres les plus récentes
SELECT titre, annee_parution
FROM oeuvres
ORDER BY annee_parution DESC
LIMIT 3;La requête affiche au plus trois œuvres, classées de l’année de parution la plus récente à la plus ancienne.Enregistrer les requêtes dans le projet
Ajoutez ces requêtes commentées à la suite du contenu existant de requetes.sql. Chaque commentaire indique la question traitée, et chaque requête se termine par un point-virgule pour pouvoir être exécutée séparément dans votre client MariaDB.
-- Afficher au plus cinq œuvres
SELECT id_oeuvre, titre, type_oeuvre
FROM oeuvres
LIMIT 5;
-- Afficher au plus dix adhérents inscrits en 2024
SELECT nom, prenom, date_inscription
FROM adherents
WHERE date_inscription BETWEEN '2024-01-01' AND '2024-12-31'
LIMIT 10;
-- Afficher les trois œuvres les plus récentes
SELECT titre, annee_parution
FROM oeuvres
ORDER BY annee_parution DESC
LIMIT 3;À retenir
LIMIT nrenvoie au plusnlignes.LIMITse place à la fin de la requête.- Vous pouvez combiner
LIMITavec un filtreWHERE. - Associez
LIMITàORDER BYpour choisir les premières lignes d’un classement.
Dans la prochaine leçon, vous combinerez tri et limite pour repérer les cas prioritaires dans les données de la médiathèque.