W większości przypadków bazy danych obejmują tysiące do milionów rekordów w tabeli. Ręczne sprawdzenie wszystkich rekordów może być zniechęcające podczas wykonywania zapytań.
Dlatego będziesz musiał użyć różnych klauzul w SQL, takich jak instrukcje warunkowe, funkcje dopasowywania wzorów, operatorzy itp. Nawet wtedy możesz skończyć z licznymi rekordami do sortowania.
Możemy użyć funkcji limitu w SQL i innych dialektach podobnych do SQL, aby dodatkowo ograniczyć liczbę wierszy zwróconych z danego zapytania.
W tym poście omówiono krótki format ograniczenia liczby rekordów zwróconych z danego zapytania Oracle. Pamiętaj, że w bazie danych Oracle nie ma żadnej klauzuli limitu, jak znajdziesz w innych bazach danych, takich jak MySQL, PostgreSQL itp.
Oracle Rownum
Aby wdrożyć klauzulę podobną do limitu, użyjemy funkcji Rownum w SQL. Ta funkcja zwraca liczbę wierszy w danym wyniku.
Pozwól nam zbadać, w jaki sposób możemy użyć tej funkcji.
Przykładowe użycie
Załóżmy, że mamy tabelę z informacjami o pracownikach, jak pokazano na poniższym obrazku:
Problem
Załóżmy, że chcemy pobrać pierwsze pięć kolumn z powyższej tabeli i zignorować resztę?
Rozwiązanie
Możemy użyć podziału, jak pokazano na fragmencie poniżej:
wybierać *W powyższym zapytaniu definiujemy substancję za pomocą klauzuli z. Następnie podtrzymanie pobiera kolumny docelowe i sortuje wiersze w kolejności rosnącej na podstawie pracownika.
Na koniec definiujemy warunkowe stwierdzenie, które zapewnia, że zwrócona liczba wierszy jest mniejsza lub równa 5. To zmusza liczbę rekordów z zapytania do zatrzymania się o piątej.
Przykładem jest to, jak pokazano:
Należy pamiętać, że korzystanie z podziału zapewnia, że wiersze są sortowane w kolejności rosnącej lub malejącej. Na przykład, jeśli chcesz pobrać pięć losowych wierszy, uruchom:
Wybierz pracowników_dem, pierwsza nazwa_nazowa, wynagrodzenieWyjście:
Ze powyższego wyjścia możesz nie zauważać różnicy. Jednak uruchomienie zapytania bez zamówienia według klauzuli w nieporozumieniu spowoduje losowy zestaw wartości.
Wniosek
Ten krótki, ale cenny samouczek zbadał wdrożenie klauzuli limitu w bazie danych Oracle za pomocą wartości Rownum.