Klauzule OFFSET i FETCH są używane w połączeniu z klauzulami SELECT i ORDER BY w celu zapewnienia środków do pobierania zakresu rekordów.

OFFSET

Argument OFFSET jest używany do określenia punktu początkowego do zwracania wierszy ze zbioru wyników. W zasadzie wyklucza on pierwszy zestaw rekordów.
Uwaga:

  • OFFSET może być użyty tylko z klauzulą ORDER BY. Nie może być użyta samodzielnie.
  • OFFSET wartość musi być większa lub równa zero. Nie może być ujemna, w przeciwnym razie zwróci błąd.

Syntaktyka:

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

Przykłady:
Rozważmy następującą tabelę Pracownicy,

  • Wydrukuj Fname, Lname wszystkich pracowników z wyjątkiem pracownika mającego najniższe wynagrodzenie.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;

    Wyjście:

FETCH

Argument FETCH jest używany do zwracania zbioru określonej liczby wierszy. FETCH nie może być użyty samodzielnie, jest używany w połączeniu z OFFSET.
Syntaktyka:

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

Przykład:

  • Wydrukuj Fname, Lname od 3. do 6. krotki tabeli Employee posortowanej według Salary.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;

    Output:

  • Wydrukuj 2 dolne tuple tabeli Employee, gdy posortowane według Salary.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;

    Wyjście:

Ważne punkty:

  1. Klauzula OFFSET jest obowiązkowa z FETCH. Nigdy nie można użyć, ORDER BY … FETCH.
  2. TOP nie może być połączone z OFFSET i FETCH.
  3. Wyrażenie liczby wierszy OFFSET/FETCH może być tylko dowolnym wyrażeniem arytmetycznym, stałym lub parametrem, który zwróci wartość całkowitą.
  4. ORDER BY jest obowiązkowe do użycia z klauzulą OFFSET i FETCH.
  5. Wartość OFFSET musi być większa lub równa zero. Nie może być ujemna, w przeciwnym razie zwróć błąd.

Ten artykuł został napisany przez Anuj Chauhan. Jeśli podoba Ci się GeeksforGeeks i chciałbyś się do niego przyczynić, możesz również napisać artykuł używając contribute.geeksforgeeks.org lub wysłać swój artykuł na adres [email protected]. Zobacz, jak twój artykuł pojawia się na stronie głównej GeeksforGeeks i pomóż innym Geekom.

admin

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

lg