OFFSET- och FETCH-klausulerna används tillsammans med SELECT- och ORDER BY-klausulerna för att hämta ett antal poster.

OFFSET

OFFSET-argumentet används för att identifiera utgångspunkten för att returnera rader från en resultatmängd. I princip utesluter det den första uppsättningen poster.
Anmärkning:

  • OFFSET kan endast användas med ORDER BY-klausulen. Den kan inte användas ensam.
  • OFFSET-värdet måste vara större än eller lika med noll. Det kan inte vara negativt, annars returneras fel.

Syntax:

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

Exempel:
Konsultera följande tabell Employee,

  • Skriv ut Fname, Lname för alla anställda utom den anställde som har lägst lön.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;

    Output:

FETCH

FETCH-argumentet används för att returnera en uppsättning med ett antal rader. FETCH kan inte användas i sig självt, det används tillsammans med OFFSET.
Syntax:

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

Exempel:

  • Skriv ut Fname, Lname från 3:e till 6:e tupeln i tabellen Employee när den är sorterad enligt lönen.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;

    Output:

  • Skriv ut de två nedersta tuplerna i tabellen Anställd när de är sorterade efter lön.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;

    Output:

Väsentliga punkter:

  1. OFFSET-klausulen är obligatorisk med FETCH. Du kan aldrig använda ORDER BY … FETCH.
  2. TOP kan inte kombineras med OFFSET och FETCH.
  3. OFFSET/FETCH-uttrycket för antal rader kan endast vara ett aritmetiskt, konstant eller parameteruttryck som returnerar ett heltalsvärde.
  4. OORDER BY är obligatoriskt att använda tillsammans med OFFSET- och FETCH-klausulerna.
  5. OFFSET-värdet måste vara större än eller lika med noll. Det kan inte vara negativt, annars returneras fel.

Denna artikel har bidragits av Anuj Chauhan. Om du gillar GeeksforGeeks och vill bidra kan du också skriva en artikel via contribute.geeksforgeeks.org eller maila din artikel till [email protected]. Se din artikel dyka upp på GeeksforGeeks huvudsida och hjälp andra Geeks.

admin

Lämna ett svar

Din e-postadress kommer inte publiceras.

lg