Questo articolo ti insegnerà come utilizzare la clausola di recupero offset in SQL Server. La clausola di recupero offset in SQL Server consente di impostare il limite per il numero di righe restituite da un dato. È strettamente simile alla clausola limite in altri database come PostgreSQL e MySQL. È bene tenere presente che la clausola di recupero offset è abbinata all'ordine per clausola.
Sintassi della clausola
Di seguito mostra la sintassi della clausola di recupero offset accoppiato dall'ordine per istruzione:
Ordine di column_list [asc | desc]
Offset offset_row_count row | Righe
Fetch First | Next fetch_row_count row | Solo righe
I parametri sono descritti di seguito:
- Offset: questo determina il numero di righe da saltare prima di restituire il risultato dalla query. Il valore può essere costante, una variabile definita dall'utente o un'espressione che restituisce un singolo valore. Deve essere maggiore o uguale a zero.
- Fetch - La clausola di recupero consente di specificare il numero di righe che si desidera restituire dopo il valore di offset. Questo valore deve essere maggiore di 1.
La clausola di recupero offset è abbinata all'ordine per clausola. Pertanto, il tentativo di usarli come query autonomi comporterà un errore.
Esempio illustrazione
Illustriamo come possiamo lavorare con la clausola di recupero offset in SQL Server. Ad esempio, supponiamo di avere una tabella fornita nella query seguente:
Drop database se esiste l'inventario;
Creare inventario del database;
Utilizzare l'inventario;
Drop tabella se esistono prodotti;
Crea prodotti da tavolo
(
Id Int Identity Key Primary non null,
Product_Name Varchar (100),
Produttore Varchar (50),
quantità int non null,
Prezzo int predefinito 0,
in_stock bit
);
Insert in Products (Product_Name, produttore, quantità, prezzo, in_stock)
Valori ('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 "Classe S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
("Schermata di gioco curvo Mini -LED di Odyssey Ark - 2021", "Samsung", 50, 2999.90, 1);
Tabella risultante:
Iniziamo ordinando le righe nella tabella per produttore:
selezionare * dall'ordine dei prodotti per produttore;
La tabella risultante è come mostrata:
Possiamo saltare le prime tre righe come mostrato nella query seguente:
Seleziona Product_Name, produttore, quantità, prezzo, in_stock
dai prodotti
Ordine per produttore
Offset 3 file;
In questo caso, la query dovrebbe ordinare la tabella per produttore, saltare le prime tre righe e restituire il resto della tabella.
Un output di esempio è come mostrato:
Come puoi vedere, le righe che contengono "Apple" come produttore sono escluse dal risultato.
Possiamo escludere l'ultima riga restituendo solo le tre colonne successive dopo l'offset. Una query di esempio è come mostrato:
Seleziona Product_Name, produttore, quantità, prezzo, in_stock
dai prodotti
Ordine per produttore
Offset 3 file
prendi solo le prime 3 file;
In questo caso, saltiamo le prime tre colonne e prendiamo le tre colonne successive dal risultato. La tabella di output è come mostrata:
Conclusione
In questo post, abbiamo discusso utilizzando la clausola di recupero offset in SQL Server. Questa funzione consente di saltare e limitare il numero di righe da una determinata query.