OFFSET- ja FETCH-lauseketta käytetään yhdessä SELECT- ja ORDER BY -lausekkeiden kanssa, jotta voidaan hakea tietueiden alue.

OFFSET

OFFSET-argumenttia käytetään määrittämään lähtöpiste, josta rivit palautetaan tulosjoukosta. Periaatteessa se sulkee pois ensimmäisen tietuejoukon.
Huomaa:

  • OFFSET voidaan käyttää vain ORDER BY -lausekkeen kanssa. Sitä ei voi käyttää yksinään.
  • OFFSET-arvon on oltava suurempi tai yhtä suuri kuin nolla. Se ei voi olla negatiivinen, muuten palautetaan virhe.

Syntaksi:

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

Esimerkkejä:
Tarkastellaan seuraavaa Työntekijä-taulukkoa,

  • Tulosta kaikkien Työntekijöiden Fnimi, Lnimi, lukuun ottamatta työntekijää, jolla on alhaisin palkka.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;

    Tulos:

FETCH

FETCH-argumenttia käytetään palauttamaan joukko rivien määrää. FETCH-argumenttia ei voi käyttää yksinään, vaan sitä käytetään yhdessä OFFSET-argumentin kanssa.
Syntaksi:

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

Esimerkki:

  • Tulosta Fname, Lname taulukon Employee (Työntekijä) 3.-6. tupleista, kun ne on lajiteltu Palkan mukaan.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;

    Tulos:

  • Tulosta Employee-taulukon 2 alinta tuplia, kun ne on lajiteltu palkan mukaan.
    SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;

    Tulos:

Tärkeitä kohtia:

  1. OFFSET-lauseke on pakollinen FETCHin kanssa. Et voi koskaan käyttää, ORDER BY … FETCH.
  2. TOP-lauseketta ei voi yhdistää OFFSET- ja FETCH-lausekkeisiin.
  3. OFFSET/FETCH-rivien lukumäärän lauseke voi olla vain mikä tahansa aritmeettinen, vakio- tai parametri-lauseke, joka palauttaa kokonaislukuarvon.
  4. ORDER BY-lauseketta on pakko käyttää OFFSET- ja FETCH-lausekkeiden kanssa.
  5. OFFSET-arvon on oltava suurempi tai yhtä suuri kuin nolla. Se ei voi olla negatiivinen, muuten palautetaan virhe.

Tämän artikkelin on kirjoittanut Anuj Chauhan. Jos pidät GeeksforGeeksistä ja haluat osallistua, voit myös kirjoittaa artikkelin osoitteessa contribute.geeksforgeeks.org tai lähettää artikkelisi sähköpostitse osoitteeseen [email protected]. Näet artikkelisi näkyvän GeeksforGeeksin pääsivulla ja autat muita geekkejä.

admin

Vastaa

Sähköpostiosoitettasi ei julkaista.

lg