PostgreSQL Limit wierszy

PostgreSQL Limit wierszy
PostgreSQL zajmuje się wieloma funkcjami dotyczącymi przechowywania danych i wyświetlania go użytkownikowi. Wyświetlanie ograniczonych danych z bazy danych jest konieczne w przypadku problemów bezpieczeństwa, jeśli uwierzytelnianie użytkownika jest wątpliwe lub w przypadku utraty danych. Jak wiemy, dane są obecne w postaci bali. Aby zmniejszyć widok tabel do użytkownika, musimy ograniczyć wiersze, określając je. Klauzula „limit” postgresql jest klauzulą ​​opcji instrukcji „Wybierz”, której można użyć z innymi klauzulami, takimi jak „więzi”, „przesunięcie” itp. Każdy z nich będzie częścią naszej dyskusji w tej treści. Zacznijmy od prostej składni klauzuli limitu. Wybierz * Z kolejności nazwy tabeli według wiersza limitu wyrażenia

Oraz w przypadku „przesunięcia”:

Wybierz * z nazwy tabeli limit rownika przesunięcia „wiersz do pomijania”;

Prosta klauzula limitu

Przechodząc do przykładów omawianego tematu. Rozważ stół o nazwie „naczynia”. Zawartość tabeli do 3 wierszy od samego początku ma być wyświetlana jako wyjście. I ten wybór odbywa się poprzez sortowanie danych w wierszach zgodnie z kolumną identyfikacyjną. „Limit” to słowo kluczowe używane do kontrolowania widoku utworzonego dla użytkownika w tabeli. Po pierwsze, wyświetlimy całą zawartość tabeli „naczynia” za pomocą polecenia Select

>> Wybierz * z potraw;

Teraz zastosujemy zapytanie, aby wyświetlić wiersze do 3r & D ID.

>> Wybierz * Z kolejności naczyń według ID Limit 3;

Za pomocą snapy możesz zobaczyć wyjście, w którym ostatnie dwa linie są odejmowane z powodu ograniczenia limitu stosowanego do tabeli.

Ogranicz klauzulę z klauzulą ​​przesunięcia

Drugi przykład obejmuje użycie „przesunięcia” wraz z słowem kluczowym „limitu”. Ta klauzula przeskakuje/pomija wiersze numeru przesunięcia „n. Różnica między limitem a klauzulą ​​przesunięcia polega na tym, że limit liczy liczbę do góry, do której chcemy wyświetlać dane, podczas gdy przesunięcie usuwa ten konkretny wiersz lub wiersze z tabeli, podając numer przesunięcia w poleceniu. Teraz zastosujemy oba klauzule do zapytania, więc otrzymamy pożądane wyjście.

>> Wybierz * Z kolejności naczyń według ID Limit 3 Offset 1;

Powyższe polecenie pokazuje, że używany jest limit „3”, co oznacza, że ​​wynikowa tabela będzie zawierała tylko 3 wiersze w tabeli, a przesunięcie „1” oznacza, że ​​pierwszy wiersz zostanie odliczony od wyjścia. Stąd od 5, wyświetlane są tylko trzy wiersze z powodu limitu i przesunięcia.

Użycie klauzuli limitu z klauzulą ​​zamówienia

Oprócz limitu możemy również użyć klauzuli zamówienia, aby wyświetlić dane tabeli. To zadziała, aby wszystkie treści zostały ułożone w kolejności określonej w zapytaniu. Wówczas część limitu zostanie uznana za wykonaną. Spójrzmy.

>> Wybierz * Z kolejności naczyń według typu DESC limit 4;

To zapytanie pokazuje, że wynik jest najpierw ułożony po określonej kolumnie „Typ”. Tak więc, gdy 5 wierszy zostanie ułożone naprzeciwko kolejności alfabetycznej „Typ”, wówczas wyświetlane są pierwsze 4 wiersze.

Limit jako NULL

Jeśli określamy klauzulę „limitu” jako null, nie stosuje ona żadnej zmiany w tabeli. Tutaj wyświetliśmy tylko kolumnę „id”, aby sprawdzić skuteczność klauzuli „limit”.

>> Wybierz identyfikator z naczyń ogranicz NULL;

Relacje… przyciągaj pierwsze

Ten przykład jest użycie „więzi” w klauzuli limit. Pomaga to uzyskać wszystkie dane, które są nawet używane wielokrotnie w dowolnej kolumnie tabeli. W tym konkretnym celu utworzymy najpierw nową tabelę, która ma pojedynczą kolumnę ID

>> Utwórz tabelę TBL1 (IN INT)

Następnie wstaw do niego wartości.

>> Wstaw do wartości TBL1 (1), (5), (4), (6);

Normalnie, gdy wprowadzamy wszystkie kolumny w momencie tworzenia tabeli, ale tutaj w przypadku liczb losowych. Utworzono kolumnę o nazwie „Numery”. Ta funkcja jest wbudowaną funkcją do generowania liczb losowych i każdej liczby kolumny identyfikatora. W tym celu używamy konkretnego stwierdzenia „alter”. Który doda kolumnę w tabeli, jak pokazano poniżej na zdjęciu.

>> Zmień tabelę Tbl1 Dodaj numery kolumn numeryczne domyślne ();

Podobnie dodaliśmy więcej wierszy do tabeli. Wynikowy tabela jest następująca.

Teraz w tym tabeli zastosujemy klauzulę „Ties” z czynnikiem „Fetch-First”.

Jeśli pobieramy pierwsze rzędy tabeli, zwykle zdarza się, że postgreSQL zatrzymuje się na stałych numerach wierszy, gdy pojawią się te same liczby. Aby przezwyciężyć problem, oprócz „więzi” klauzula „Order według” jest również potrzebna, ponieważ bez tego wynik będzie dość losowy. Teraz zastosuj ten warunek na stole za pomocą zapytania.

Część „Fetch Pierwsza” otrzyma wszystkie rekordy ułożone w kolejność rosnącą według kolumny identyfikacyjnej. Zgodnie z poleceniem zostanie wybrane pierwsze 5 wierszy.

Wyrównanie więzi

Rozważ inną tabelę o nazwie „Technologia”. Tutaj jesteśmy zainteresowani zastosowaniem fetch_first, więzi i klauzul offsetowych w jednym poleceniu. Te trzy połączyły się i nie obiecały zwrócić dokładnie tej samej liczby wierszy określonych w zapytaniu.

>> Wybierz * z technologii;

Tutaj chcemy określić 2 wiersze do pobierania z przesunięciem 3. Najpierw wszystkie dane są zorganizowane w kolejności malejącej, wówczas pierwsze trzy rzędy są usuwane; stąd otrzymujemy dwa ostatnie rzędne uporządkowane przez kolumnę modelu tabeli. Prosta składnia to:

>> Wybierz * Z kolejności nazwy tabeli według nazwy kolumny DESC Fetch Pierwsze (n) wiersze z przesunięciem powiązań (n);

Limit z substancją

Jest to przykład ograniczenia liczby wierszy za pomocą podkładu do tabeli o nazwie pracownika. Możesz zastosować wszystkie polecenia do jednej tabeli. Ale aby wyjaśnić różne ograniczenia, musimy mieć różnorodność w tworzeniu tabeli, która nie jest jeszcze dostępna na jednej tabeli. Tak więc tabela pracowników ma następujące atrybuty.

>> Wybierz * od pracowników;

Jedną rzeczą, o której należy pamiętać, jest użycie klauzuli kolejności tylko z klauzulą ​​więzi, gdy się nawzajem pasują; W przeciwnym razie musisz użyć podkładu, jeśli chcesz określone wiersze z inną kolumną w tabeli.

>> Wybierz * z (wybierz * z zamówienia pracownika według City Desc Fetch z pierwszych 4 rzędów z więzi) jako Zamówienie UPQ według City Desc, Fname

Po pierwsze, część zastępcza jest rozwiązywana.

Wniosek

„PostgreSQL Limit Rows” to rozwiązanie, aby ukryć niektóre dane przed użytkownikiem z niektórych określonych powodów. Używając „przesunięcia”, „klauzuli zamów” i „więzi” z koncepcją pobierania, aby zmniejszyć niejednoznaczność połączenia wszystkich w jednym stwierdzeniu. Mam nadzieję, że ta treść pomoże ci w obsłudze tabel z klauzulą ​​limitu.