Clause SQL SELECT LIMIT

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.

  1. LIMIT / OFFSET
  2. 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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200
7006STYLO7.451074,50
7007Lecteur CDAccessoires75,00
7008MicroAccessoires75,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-ProduitNom-ProduitCategoriePrisStockValeur-Totale
7001SourisAccessoires75,00
7002Disque dur65,00201 300
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,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-ProduitNom-ProduitCategoriePrixStockValeur-Totale
7003ClavierAccessoires36.00331 118,00
7004RAMComposants23.5016376,00
7005VTTvélos1 200