On peut limiter le nombre de résultat avec l’aide de la clause SQL SELECT LIMIT.
Comment limiter les résultats des requêtes pour les bases de données DB2 ?
Il existe deux façons de limiter le résultat.
- LIMIT / OFFSET
- FETCH FIRST
Pourquoi avons-nous besoin de limiter les résultats de la requête ?
Supposons que vous écriviez une application qui nécessite des informations uniquement sur les 10 étudiants ayant obtenu les notes totales les plus élevées. Pour renvoyer uniquement les lignes de la table Students pour ces 20 étudiants, cela peut être réalisé par la clause Fetch First ou Limit.
De plus, cette clause est utile sur les grandes tables avec des milliers d’enregistrements. Le renvoi d’un grand nombre d’enregistrements peut avoir un impact sur les performances.
Clause DB2 LIMIT :
La clause LIMIT permet de limiter le nombre de lignes renvoyées par la requête.
Syntaxe:
SELECT select_list FROM nom_table
LIMIT n [OFFSET m];
Où,
- ‘m’ est le nombre de lignes à ignorer avant de renvoyer les n lignes.
- ‘n’ est le nombre de lignes à renvoyer.
Vous pouvez également écrire la syntaxe LIMIT comme ci-dessous,
LIMITE m, n ;
Cette syntaxe représente le saut de m lignes et le renvoi des n lignes suivantes à partir du jeu de résultats.
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Produit” de la base de données DB2.
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | STYLO | 7.45 | 10 | 74,50 | |
7007 | Lecteur CD | Accessoires | 75,00 | ||
7008 | Micro | Accessoires | 75,00 |
Exemple 1:
Utilisation de la syntaxe LIMIT pour récupérer les 4 premières lignes d’une table “Produit”.
SELECT *
FROM Produit
LIMIT 4;
Résultat :
ID-Produit | Nom-Produit | Categorie | Pris | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | 65,00 | 20 | 1 300 | |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
Exemple 2 :
Pour ignorer les 2 premiers produits et retourner les 3 produits suivants, nous utilisons la clause LIMIT OFFSET comme suit :
SELECT *
FROM Produit
LIMIT 3 OFFSET 2;
Résultat :
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 |