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:
- A FETCH esetén kötelező az OFFSET záradék. Soha nem lehet használni, ORDER BY … FETCH.
- TOP nem kombinálható OFFSET és FETCH záradékkal.
- Az OFFSET/FETCH sorszám kifejezés csak olyan aritmetikai, konstans vagy paraméteres kifejezés lehet, amely egész értéket ad vissza.
- ORDER BY kötelező az OFFSET és FETCH záradékkal együtt használni.
- 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.