OFFSET- und FETCH-Klausel werden in Verbindung mit der SELECT- und ORDER BY-Klausel verwendet, um einen Bereich von Datensätzen abzurufen.
OFFSET
Das OFFSET-Argument wird verwendet, um den Startpunkt für die Rückgabe von Zeilen aus einer Ergebnismenge zu bestimmen. Grundsätzlich schließt es den ersten Satz von Datensätzen aus.
Hinweis:
- OFFSET kann nur mit der ORDER BY Klausel verwendet werden. Es kann nicht allein verwendet werden.
- OFFSET-Wert muss größer oder gleich Null sein. Er kann nicht negativ sein, sonst wird ein Fehler zurückgegeben.
Syntax:
SELECT column_name(s)FROM table_nameWHERE conditionORDER BY column_nameOFFSET rows_to_skip ROWS;
Beispiele:
Betrachten Sie die folgende Angestelltentabelle,
- Drucken Sie Fname, Lname aller Angestellten außer dem Angestellten mit dem niedrigsten Gehalt.
SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 1 ROWS;
Ausgabe:
FETCH
Das FETCH-Argument wird verwendet, um eine bestimmte Anzahl von Zeilen zurückzugeben. FETCH kann nicht selbst verwendet werden, sondern nur in Verbindung mit OFFSET.
Syntax:
SELECT column_name(s)FROM table_nameORDER BY column_nameOFFSET rows_to_skipFETCH NEXT number_of_rows ROWS ONLY;
Beispiel:
- Drucke Fname, Lname vom 3. bis zum 6. Tupel der Tabelle Employee, wenn nach dem Gehalt sortiert.
SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET 2 ROWSFETCH NEXT 4 ROWS ONLY;
Ausgabe:
- Drucke die untersten 2 Tupel der Tabelle „Mitarbeiter“, wenn sie nach dem Gehalt sortiert sind.
SELECT Fname, LnameFROM EmployeeORDER BY SalaryOFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWSFETCH NEXT 2 ROWS;
Ausgabe:
Wichtige Punkte:
- OFFSET-Klausel ist bei FETCH obligatorisch. Sie können niemals ORDER BY … FETCH verwenden.
- TOP kann nicht mit OFFSET und FETCH kombiniert werden.
- Der OFFSET/FETCH-Zeilenzählungsausdruck kann nur ein beliebiger arithmetischer, konstanter oder Parameterausdruck sein, der einen ganzzahligen Wert zurückgibt.
- ORDER BY muss zwingend mit der OFFSET- und FETCH-Klausel verwendet werden.
- OFFSET-Wert muss größer oder gleich Null sein. Er kann nicht negativ sein, sonst wird ein Fehler zurückgegeben.
Dieser Artikel wurde von Anuj Chauhan verfasst. Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel unter contribute.geeksforgeeks.org schreiben oder eine E-Mail an [email protected] senden. Sehen Sie Ihren Artikel auf der GeeksforGeeks-Hauptseite erscheinen und helfen Sie anderen Geeks.