Az OFFSET és a FETCH záradék a SELECT és az ORDER BY záradékkal együttesen használható a rekordok egy tartományának lekérdezésére.

OFFSET

Az OFFSET argumentum az eredményhalmaz sorainak visszaadási kezdőpontjának meghatározására szolgál. Alapvetően kizárja az első rekordhalmazt.
Figyelem:

  • OFFSET csak ORDER BY záradékkal használható. Önmagában nem használható.
  • OFFSET értékének nagyobbnak vagy egyenlőnek kell lennie nullánál. Nem lehet negatív, különben hibát ad vissza.

Szintaktika:

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

Példák:
Nézzük a következő Alkalmazottak táblázatot,

  • Név, Lnév nyomtatása az összes Alkalmazottról, kivéve a legalacsonyabb fizetéssel rendelkező alkalmazottat.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;

    Kimenet:

FETCH

A FETCH argumentum egy sorszámú halmaz visszaadására szolgál. A FETCH önmagában nem használható, az OFFSET-tel együtt kell használni.
Szintaktika:

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

Példa:

  • A Munkavállaló táblázat Fnév, Lnév 3-6. tételeinek kiírása, ha a fizetések szerint van rendezve.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;

    Kimenet:

  • Kinyomtatja az Employee táblázat alsó 2 tuple-ját, ha a fizetések szerint van rendezve.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;

    Kimenet:

Fontos pontok:

  1. A FETCH esetén kötelező az OFFSET záradék. Soha nem lehet használni, ORDER BY … FETCH.
  2. TOP nem kombinálható OFFSET és FETCH záradékkal.
  3. Az OFFSET/FETCH sorszám kifejezés csak olyan aritmetikai, konstans vagy paraméteres kifejezés lehet, amely egész értéket ad vissza.
  4. ORDER BY kötelező az OFFSET és FETCH záradékkal együtt használni.
  5. OFFSET értéknek nagyobbnak vagy egyenlőnek kell lennie nullánál. Nem lehet negatív, különben hibát ad vissza.

A cikk szerzője Anuj Chauhan. Ha tetszik a GeeksforGeeks és szeretnél hozzájárulni, írhatsz cikket a contribute.geeksforgeeks.org címen, vagy elküldheted a cikkedet a [email protected] címre. Láthatod, hogy a cikked megjelenik a GeeksforGeeks főoldalán, és segíthetsz más geekeknek.

admin

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

lg