SQL-Abruf

Sql Abruf



Wenn wir in einer SQL-Datenbank arbeiten, kann es vorkommen, dass wir eine bestimmte Teilmenge von Zeilen aus einer bestimmten Tabelle abrufen müssen. Dadurch können wir die Ressourcen begrenzen, die zum Abrufen der Werte aus der Tabelle erforderlich sind.

Glücklicherweise haben wir in SQL Zugriff auf die LIMIT-Klausel, mit der wir die Anzahl der zurückgegebenen Zeilen innerhalb einer bestimmten Ergebnismenge steuern können. Diese Funktion ist sehr nützlich, wenn wir mit einem großen Datensatz arbeiten und nicht die gesamten Zeilen, sondern nur eine Teilmenge davon benötigen. Dabei kann es sich entweder um das Layout der Daten oder um eine Präsentation handeln.







Wussten Sie jedoch, dass LIMIT nicht Teil der Standard-SQL-Definition ist? Obwohl es von den meisten Datenbanken weit verbreitet ist, ist es nicht Teil des SQL-Standards. Dieser Teil wird von der FETCH-Klausel übernommen.



In diesem Tutorial lernen wir, wie wir die FETCH-Klausel in SQL-Datenbanken verwenden und damit arbeiten können, um die Anzahl der Zeilen anzugeben, die wir aus der Datenbank abrufen möchten.



SQL FETCH-Klausel

In SQL:2008 wird die OFFSET FETCH-Klausel eingeführt, die eine Funktion hat, die der LIMIT-Klausel ähnelt.





Mit der OFFSET FETCH-Klausel können Sie die ersten N Zeilen innerhalb einer Ergebnismenge überspringen, bevor Sie mit dem Abruf von Zeilen beginnen.

Die Syntax lautet wie folgt:



OFFSET offset_rows { REIHE | REIHEN }
BRINGEN { ERSTE | NÄCHSTE } [ fetch_rows ] { REIHE | REIHEN } NUR

In der angegebenen Syntax:

  1. ROW und ROWS/FIRST und NEXT dienen als Synonyme, die eine austauschbare Verwendung ermöglichen.
  2. OFFSET_ROWS stellt eine Ganzzahl dar, die Null oder ein positiver Wert sein muss. Wenn „offset_row“ die Gesamtzahl der Zeilen im Ergebnissatz überschreitet, gibt die Abfrage keine Zeilen zurück.
  3. FETCH_ROWS gibt eine Ganzzahl an, die die Anzahl der abzurufenden Zeilen angibt, wobei der Wert eins oder größer sein muss.

HINWEIS: Die OFFSET FETCH-Klausel wird von verschiedenen Datenbank-Engines wie Oracle, PostgreSQL, Microsoft SQL Server usw. unterstützt. Dennoch ist es erwähnenswert, dass jede dieser Datenbank-Engines die OFFSET FETCH-Klausel mit einigen Variationen implementiert.

Beispiel:

Lassen Sie uns eine einfache Tabelle einrichten, die uns helfen kann, die Verwendung der OFFSET FETCH-Klausel zu demonstrieren. Die Anweisungen „create“ und „insert“ lauten wie folgt:

CREATE TABLE-Mitarbeiter (
Employee_id INT AUTO_INCREMENT PRIMARY KEY,
Vorname VARCHAR ( fünfzig ) ,
Nachname VARCHAR ( fünfzig ) ,
Abteilung VARCHAR ( fünfzig )
) ;
EINFÜGEN IN Mitarbeiter ( Vorname, Nachname, Abteilung ) WERTE
( „Alice“ , 'Schmied' , 'Personalwesen' ) ,
( 'Bob' , „Johnson“ , 'Marketing' ) ,
( 'Charlie' , 'Wilson' , 'Finanzen' ) ,
( 'David' , 'Braun' , 'Verkäufe' ) ,
( „Eva“ , 'Davis' , 'Maschinenbau' ) ;

Sobald wir die Tabelle eingerichtet haben, können wir fortfahren und lernen, wie diese Klausel verwendet wird.

Das folgende Beispiel zeigt, wie Sie mit der OFFSET FETCH-Klausel die ersten drei Zeilen überspringen:

wählen
*
aus
Mitarbeiter ausgeglichen 3 Zeilen werden als nächstes abgerufen 1 nur Zeilen;

Dadurch sollten die ersten drei Zeilen der Tabelle übersprungen und nur die vierte abgerufen werden.

Abschluss

In diesem Tutorial haben wir gelernt, wie man die OFFSET FETCH-Klausel in SQL verwendet, um die Anzahl der Zeilen einer „select“-Anweisung zu begrenzen und zu überspringen. Sie ähnelt der LIMIT-Klausel, ist jedoch Teil der Standard-SQL-Definitionen.