W tym artykule przyjrzy się użyciu klauzul limitów i przesunięcia w SQL.
NOTATKA: Dobrze jest pamiętać, że limit SQL i klauzule przesunięcia nie są częścią standardu ANSI SQL. Jest to jednak szeroko stosowane przez główne silniki bazy danych.
Składnia
Składnia klauzul limitów i przesunięcia jest jak pokazano poniżej:
WYBIERAĆWartość limitu określi liczbę wierszy/rekordów zwróconych z zapytania.
Wartość przesunięcia umożliwia pominięcie określonych wierszy przed rozpoczęciem pobierania dopasowania rekordów.
NOTATKA: Wartość przesunięcia nie jest wymagana. Jeśli brakuje, zapytanie pobiera rekordy z pierwszego rzędu.
Przykład
Załóżmy, że masz przykładową tabelę i dane, jak pokazano w pytaniu poniżej:
Możesz wyświetlić wszystkie rekordy w tabeli za pomocą zapytania, jak pokazano:
Wybierz * od pracowników;Powinno to zwrócić wszystkie wiersze, jak pokazano:
Załóżmy, że chcemy pierwszych 3 rekordów. W tym celu możemy użyć klauzuli limitu jako:
Wybierz * z limitu pracowników 3;Powyższe zapytanie powinno zwrócić pierwsze trzy wiersze, zaczynając od 1. Wyjście jest tak, jak pokazano:
Co jeśli chcesz odzyskać następujące trzy elementy? Możemy użyć klauzuli limitu i przesunięcia, jak pokazano poniżej:
Wybierz * Z pracowników Ogranicz 3 przesunięcie 3;Powyższe zapytanie zwróci trzy elementy zaczynające się od czwartego rzędu (włącznie). Jeśli masz identyfikator dla swoich wierszy, dane wyjściowe powinny być opisowe, jak pokazano:
Zakończenie
Jak pokazano w tym artykule, klauzule limitu i przesunięcia są cechą bezpieczeństwa, która uniemożliwia pobieranie tysięcy, jeśli nie milionów rekordów w jednym zapytaniu. Dlatego dobrze jest wykorzystać tę funkcję do prostej paginacji i ładnej wydajności.