W tym artykule nauczy Cię, jak korzystać z klauzuli Fetch Fetch na serwerze SQL. Klauzula Offset Fetch na serwerze SQL umożliwia ustawienie limitu liczby wierszy zwróconych z danego. Jest ściśle podobny do klauzuli limitu w innych bazach danych, takich jak PostgreSQL i MySQL. Dobrze należy pamiętać, że klauzula Fetch Fetch jest sparowana z klauzulą zamówienia.
Składnia klauzuli
Poniżej pokazuje składnię klauzuli fetch przesunięcia w połączeniu według instrukcji:
Zamów przez kolumn_list [ASC | DESC]
Offset offset_row_count wiersz | WYDZIWIANIE
Fetch pierwszy | Następnie fetch_row_count wiersz | Tylko wiersze
Parametry opisano poniżej:
- Offset - to określa liczbę wierszy do pominięcia przed zwróceniem wyniku z zapytania. Wartość może być stała, zmienna zdefiniowana przez użytkownika lub wyrażenie, które zwraca jedną wartość. Musi być większy lub równy zero.
- Fetch - klauzula Fetch umożliwia określenie liczby wierszy, które chcesz zwrócić po wartości przesunięcia. Ta wartość musi być większa niż 1.
Klauzula Offset Fetch jest sparowana z klauzulą zamówienia. Dlatego próba użycia ich jako samodzielnych zapytań spowoduje błąd.
Przykładowa ilustracja
Zilustrujmy, jak możemy pracować z klauzulą Fetch Fetch na serwerze SQL. Załóżmy na przykład, że mamy tabelę przedstawioną w pytaniu poniżej:
Zrzuć bazę danych, jeśli istnieje zapasy;
Utwórz zapasy bazy danych;
Użyj zapasów;
Stół zrzutu, jeśli istnieje produkty;
Utwórz produkty stołowe
(
Id Int Identity Klucz podstawowy nie null,
Product_name varchar (100),
producent varchar (50),
Ilość int nie null,
Cena int Domyślnie 0,
bit in_stock
);
Wstaw do produktów (nazwa_produktu, producent, ilość, cena, in_stock)
Wartości („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 "klasa S95B OLED 4K Smart TV - 2021 ',„ Samsung ”, 900, 1999.90, 1),
(„Odyssey Ark Quantum Mini -LED Ecran gier - 2021”, „Samsung”, 50, 2999.90, 1);
Wynikowy stół:
Zacznijmy od zamówienia wierszy w tabeli przez producenta:
Wybierz * Z Producenta z zamówienia produktów;
Powstała tabela jest jak pokazana:
Możemy pominąć trzy pierwsze rzędne, jak pokazano w zapytaniu poniżej:
Wybierz nazwę_produktu, producent, ilość, cena, in_stock
z produktów
Zamów przez producenta
Offset 3 wiersze;
W takim przypadku zapytanie powinno zamówić tabelę według producenta, pominąć pierwsze trzy wiersze i zwrócić resztę tabeli.
Przykładem jest to, jak pokazano:
Jak widać, rzędy zawierające „jabłko” jako producent są wykluczone z wyniku.
Możemy wykluczyć ostatni wiersz, zwracając kolejne trzy kolumny po przesunięciu. Przykładowe zapytanie jest takie, jak pokazano:
Wybierz nazwę_produktu, producent, ilość, cena, in_stock
z produktów
Zamów przez producenta
Offset 3 wiersze
pobrać tylko 3 kolejne rzędy;
W takim przypadku pomijamy pierwsze trzy kolumny i pobieramy kolejne trzy kolumny z wyniku. Tabela wyjściowa jest jak pokazana:
Wniosek
W tym poście omówiliśmy przy użyciu klauzuli Fetch Fetch na serwerze SQL. Ta funkcja pozwala pominąć i ograniczyć liczbę wierszy z danego zapytania.