In diesem Beitrag wird untersucht, wie die Fetch -Anweisung in Standard SQL verwendet wird. Mit dieser Anweisung können Sie die Anzahl der von einer bestimmten Abfrage zurückgegebenen Datensätze einschränken.
Ich bin sicher, Sie sind mit der Grenzklausel vertraut, die eine ähnliche Operation durchführt. Also, was ist der Unterschied zwischen Grenze und Abruf??
Die einfache Antwort ist, dass es keinen großen Unterschied gibt. Die Grenzklausel wird jedoch in Standard -SQL nicht unterstützt. Es wurde aus der Fetch -Klausel von Datenbankanbietern übernommen. Daher wird es von fast allen wichtigen SQL -Datenbankmotoren häufig übernommen.
In einigen seltenen Fällen können Sie auf eine Instanz stoßen, in der Ihr Datenbankanbieter die Grenzklausel nicht unterstützt. Oder Sie verwenden Standard -SQL in Ihrer Umgebung.
Klauselsyntax
Das Folgende zeigt die Syntax der Fetch -Klausel:
Offset offset_rows row | REIHEN
Fetch [fetch_rows] row | Nur Zeilen
Beispiel
Das folgende Beispiel zeigt, wie die Offset -Abrufklausel in Standard -SQL verwendet wird:
Datenbank erstellen Zero_Day;
Verwenden Sie Zero_Day;
Erstellen von Tabellenaufzeichnungen (
ID int nicht null auto_increment Primärschlüssel,
report_name varchar (255) nicht null,
report_date Datum nicht null,
report_author varchar (100) Standard 'Anonymous',
Schweregrad int nicht null,
prüfen (Schweregrad> 0)
);
In Datensätze einfügen (Report_Name, Report_date, Schweregrad)
Werte ('Desc-100', '2022-01-20', 6),
('Desc-200', '2022-01-21', 5),
('Desc-300', '2022-01-22', 10),
('Desc-400', '2022-01-23', 8),
('Desc-500', '2022-01-24', 4);
Wir können die SELECT -Anweisung und die Offset -Fetch -Klausel verwenden, wie unten gezeigt:
Wählen Sie * aus Datensätzen Offset 0 Zeilen nur die nächsten 3 Zeilen ab
Die vorherige Abfrage sollte die ersten drei Zeilen aus der angegebenen Tabelle abrufen.
Abschluss
In diesem Beitrag haben wir die Grundlagen der Verwendung der Offset -Fetch -Anweisung in Standard SQL besprochen. Darüber hinaus haben wir Beispiele zur Hervorhebung der Klauselsyntax geliefert.