In diesem Artikel werden Sie vermittelt, wie Sie die Offset -Abrufklausel in SQL Server verwenden. Mit der Offset -Abfassungsklausel in SQL Server können Sie die Grenze für die Anzahl der Zeilen festlegen. Es ist der Grenzklausel in anderen Datenbanken wie PostgreSQL und MySQL eng ähnlich. Es ist gut zu beachten.
Klauselsyntax
Das Folgende zeigt die Syntax der Offset -Fetch -Klausel, die durch die Order by Anweisung gepaart wurde:
Bestellung nach Column_List [ASC | Desc]
Offset offset_row_count row | REIHEN
Fetch First | Weiter fetch_row_count row | Nur Zeilen
Die Parameter werden nachstehend beschrieben:
- Offset - Dies bestimmt die Anzahl der Zeilen, die überspringen müssen, bevor das Ergebnis aus der Abfrage zurückgegeben wird. Der Wert kann konstant sein, eine benutzerdefinierte Variable oder ein Ausdruck, der einen einzelnen Wert zurückgibt. Es muss größer oder gleich Null sein.
- Fetch - Mit der Fetch -Klausel können Sie die Anzahl der Zeilen angeben, die Sie nach dem Offset -Wert zurückgeben möchten. Dieser Wert muss größer als 1 sein.
Die Offset -Abrufklausel wird mit der Bestellung per Klausel gepaart. Der Versuch, sie als eigenständige Abfragen zu verwenden, führt daher zu einem Fehler.
Beispielabbildung
Lassen Sie uns veranschaulichen, wie wir mit der Offset -Fetch -Klausel in SQL Server arbeiten können. Angenommen, wir haben eine Tabelle in der folgenden Abfrage bereitgestellt:
Datenbank fallen, wenn existiert Inventar;
Datenbankinventar erstellen;
Inventar verwenden;
Tisch fallen, wenn Produkte existiert;
Tischprodukte erstellen
(
Id Int Identity Primärschlüssel nicht null,
product_name varchar (100),
Hersteller Varchar (50),
Menge int nicht null,
Preis int Standard 0,
in_stock bit
);
In Produkte einfügen (Product_Name, Hersteller, Menge, Preis, In_Stock)
Werte ("Apple iPad Air - 2022", "Apple", 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
('Sony PlayStation 5 - 2020', 'Sony', 500, 499.99, 1),
('Samsung Galaxy Watch -5 Pro - 2022', 'Samsung', 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
('Apple Airpods Pro - 2022', 'Apple', 200, 199.99, 1),
('55 "Klasse S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini -geführte gebogene Gaming -Bildschirm - 2021', 'Samsung', 50, 2999.90, 1);
Resultierende Tabelle:
Beginnen wir mit der Bestellung der Zeilen in der Tabelle vom Hersteller:
Auswählen * aus der Produktreihenfolge durch Hersteller;
Die resultierende Tabelle ist wie gezeigt:
Wir können die ersten drei Zeilen überspringen, wie in der folgenden Abfrage gezeigt:
Wählen Sie Product_Name, Hersteller, Menge, Preis, IN_Stock aus
aus Produkten
Bestellung durch Hersteller
Offset 3 Zeilen;
In diesem Fall sollte die Abfrage die Tabelle nach dem Hersteller bestellen, die ersten drei Zeilen überspringen und den Rest der Tabelle zurückgeben.
Ein Beispielausgang ist wie gezeigt:
Wie Sie sehen können, sind die Zeilen, die "Apple" als Hersteller enthalten.
Wir können die letzte Zeile ausschließen, indem wir nur die nächsten drei Spalten nach dem Offset zurückgeben. Eine Beispielabfrage ist wie gezeigt:
Wählen Sie Product_Name, Hersteller, Menge, Preis, IN_Stock aus
aus Produkten
Bestellung durch Hersteller
Offset 3 Zeilen
Nur die nächsten 3 Zeilen holen;
In diesem Fall überspringen wir die ersten drei Spalten und holen die nächsten drei Spalten aus dem Ergebnis. Die Ausgangstabelle ist wie gezeigt:
Abschluss
In diesem Beitrag haben wir über die Offset -Abrufklausel in SQL Server diskutiert. Mit dieser Funktion können Sie die Anzahl der Zeilen aus einer bestimmten Abfrage überspringen und begrenzen.