Clauza OFFSET și FETCH sunt utilizate împreună cu clauza SELECT și ORDER BY pentru a oferi un mijloc de a prelua un interval de înregistrări.

OFFSET

Argumentul OFFSET este utilizat pentru a identifica punctul de plecare pentru a returna rândurile dintr-un set de rezultate. Practic, acesta exclude primul set de înregistrări.
Nota:

  • OFFSET poate fi utilizat numai cu clauza ORDER BY. Nu poate fi utilizată de sine stătător.
  • Valoarea OFFSET trebuie să fie mai mare sau egală cu zero. Nu poate fi negativă, altfel returnează eroare.

Sintaxa:

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

Exemple:
Considerați următorul tabel Employee,

  • Imprimați Fname, Lname al tuturor angajaților, cu excepția angajatului care are cel mai mic salariu.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;

    Salire:

FETCH

Argumentul FETCH este utilizat pentru a returna un set de un număr de rânduri. FETCH nu poate fi folosit ca atare, ci în combinație cu OFFSET.
Sintaxa:

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

Exemplu:

  • Imprimă numele F, numele L de la a 3-a la a 6-a tupla din tabelul Employee atunci când este sortat în funcție de salariu.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;

    Imprimare:

  • Imprimați ultimele 2 tuple din tabelul Employee atunci când sunt sortate în funcție de salariu.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;

    Ieșire:

Puncte importante:

  1. Clauza OFFSET este obligatorie cu FETCH. Nu puteți folosi niciodată, ORDER BY … FETCH.
  2. TOP nu poate fi combinat cu OFFSET și FETCH.
  3. Expresia OFFSET/FETCH de numărare a rândurilor poate fi doar orice expresie aritmetică, constantă sau parametru care va returna o valoare întreagă.
  4. ORDER BY este obligatorie pentru a fi folosită cu clauza OFFSET și FETCH.
  5. Valoarea OFFSET trebuie să fie mai mare sau egală cu zero. Nu poate fi negativă, altfel se returnează eroare.

Acest articol este realizat de Anuj Chauhan. Dacă vă place GeeksforGeeks și doriți să contribuiți, puteți, de asemenea, să scrieți un articol folosind contribute.geeksforgeeks.org sau să trimiteți articolul prin e-mail la [email protected]. Vedeți articolul dvs. apărând pe pagina principală GeeksforGeeks și ajutați alți Geeks.

.

admin

Lasă un răspuns

Adresa ta de email nu va fi publicată.

lg