La clause OFFSET et FETCH sont utilisées conjointement avec la clause SELECT et ORDER BY pour fournir un moyen de récupérer une plage d’enregistrements.

OFFSET

L’argument OFFSET est utilisé pour identifier le point de départ pour retourner les lignes d’un ensemble de résultats. Fondamentalement, il exclut le premier ensemble d’enregistrements.
Note:

  • OFFSET ne peut être utilisé qu’avec la clause ORDER BY. Elle ne peut pas être utilisée seule.
  • La valeur de OFFSET doit être supérieure ou égale à zéro. Elle ne peut pas être négative, sinon retour d’erreur.

Syntaxe:

SELECT column_name(s)FROM table_nameWHERE conditionORDER BY column_nameOFFSET rows_to_skip ROWS;

Exemples:
Considérons la table d’employés suivante,

  • Imprimer le Fname, le Lname de tous les employés sauf celui qui a le salaire le plus bas.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;

    Sortie:

FETCH

L’argument FETCH est utilisé pour retourner un ensemble de nombre de lignes. FETCH ne peut pas être utilisé seul, il est utilisé en conjonction avec OFFSET.
Syntaxe:

SELECT column_name(s)FROM table_nameORDER BY column_nameOFFSET rows_to_skipFETCH NEXT number_of_rows ROWS ONLY;

Exemple:

  • Imprimer le Fname, Lname du 3ème au 6ème tuple de la table Employee lorsqu’il est trié selon le Salary.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;

    Sortie:

  • Imprimer les 2 derniers tuples de la table Employé lorsqu’ils sont triés selon le Salaire.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;

    Sortie:

Points importants:

  1. La clause OFFSET est obligatoire avec FETCH. Vous ne pouvez jamais utiliser, ORDER BY … FETCH.
  2. TOP ne peut pas être combiné avec OFFSET et FETCH.
  3. L’expression du nombre de lignes OFFSET/FETCH ne peut être que toute expression arithmétique, constante ou paramètre qui retournera une valeur entière.
  4. ORDER BY est obligatoire pour être utilisé avec la clause OFFSET et FETCH.
  5. La valeur OFFSET doit être supérieure ou égale à zéro. Elle ne peut pas être négative, sinon retour erreur.

Cet article est contribué par Anuj Chauhan. Si vous aimez GeeksforGeeks et que vous souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyer votre article par courrier à [email protected]. Voyez votre article apparaître sur la page principale de GeeksforGeeks et aidez d’autres Geeks.

admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

lg