Rzadko kiedy trzeba pobrać wszystkie rekordy z danej tabeli. Zamiast tego często pobierasz rekordy spełniające określony warunek lub mieszczące się w określonym zakresie.
W tym poście dowiemy się, jak wykorzystać operator BETWEEN w bazie danych Oracle, który pozwala nam wybrać wiersze z wartościami pasującymi do określonego zakresu z tabeli bazy danych.
Operator Oracle MIĘDZY
Operator BETWEEN w Oracle pozwala nam podać warunek wyszukiwania podczas korzystania z instrukcji DML, takich jak SELECT, INSERT, UPDATE lub DELETE.
Kiedy używamy operatora BETWEEN z instrukcją SELECT, wybierane są tylko wiersze, których wartości mieszczą się w określonym zakresie.
Wyrażamy składnię operatora BETWEEN w następujący sposób:
wyrażenie POMIĘDZY niższy_zakres ORAZ górny_zakres;
W tym przypadku wyrażenie definiuje wyrażenie docelowe, którego wartość zakresu ma być testowana.
Załóżmy, że chcemy pobrać wszystkie wiersze z tabeli pracownika, którego wynagrodzenie mieści się w zadanym przedziale. W tym przypadku kolumna wynagrodzenia jest określana jako wyrażenie.
Poniżej znajduje się pseudoskładnia poprzedniej analogii:
WYBIERAĆ KOLUMNY GDZIE pensja POMIĘDZY wartość_1 ORAZ wartość_2;Parametry dolny_zakres i górny_zakres służą do ustawienia najniższej i najwyższej wartości, która ma zostać uwzględniona w zakresie.
Parametry dolny_zakres i górny_zakres są połączone operatorem AND.
Po wykonaniu instrukcji operator BETWEEN zwraca TRUE dla każdej wartości, która jest większa lub równa najniższemu zakresowi i mniejsza lub równa górnemu zakresowi.
W większości przypadków operator BETWEEN jest używany z klauzulą WHERE, która umożliwia wprowadzenie warunku wyszukiwania.
Przykłady operatorów Oracle BETWEEN
W tej sekcji przedstawimy kilka przykładów użycia operatora BETWEEN w bazie danych Oracle.
Załóżmy, że mamy tabelę, jak pokazano:
WYBIERAĆ NUMER IDENTYFIKACYJNY PRACOWNIKA , IMIĘ , E-MAIL , PENSJA OD PRACOWNIKÓW;Wynikowa tabela:
Przykład 1: Testowanie zakresu numerycznego za pomocą operatora BETWEEN
Załóżmy, że chcemy określić wszystkich pracowników, których wynagrodzenie waha się od 20000 do 50000.
Możemy wykonać instrukcję SELECT z operatorem BETWEEN w połączeniu z klauzulą WHERE, jak pokazano poniżej:
WYBIERAĆ NUMER IDENTYFIKACYJNY PRACOWNIKA , IMIĘ , E-MAIL , PENSJAOD PRACOWNIKÓW
GDZIE PENSJA POMIĘDZY 20000 ORAZ 50000 ;
Poprzednie zapytanie powinno zwrócić pracowników, których wynagrodzenie mieści się w tym zakresie, jak pokazano poniżej:
Tutaj mamy tylko jeden wiersz pasujący do tego zakresu wynagrodzeń.
Przykład 2: Testowanie zakresu dat za pomocą operatora BETWEEN
Możemy również użyć operatora BETWEEN do wyszukiwania rekordów pasujących do określonego zakresu dat.
Jako przykład weź poniższą tabelę:
WYBIERAĆ IMIĘ , E-MAIL , DATA WYNAJMU , PENSJAOD PRACOWNIKÓW;
Załóżmy, że chcemy określić wszystkich pracowników, których data zatrudnienia mieści się w zadanym zakresie.
Możemy również sparować operator BETWEEN z klauzulą WHERE, jak pokazano poniżej:
WYBIERAĆ IMIĘ , E-MAIL , DATA WYNAJMU , PENSJAOD PRACOWNIKÓW
GDZIE DATA WYNAJMU POMIĘDZY DATA „2006-01-01” ORAZ DATA „2007-01-01” ;
W tym przypadku testujemy warunek wyszukiwania, w którym wartość kolumny data_zatrudnienia mieści się w przedziale od 2006-01-01 do 2007-01-01.
Powinno to zwrócić pasujące wiersze, jak pokazano poniżej:
Zwróć uwagę, że wszystkie wartości mieszczą się w zakresie określonej daty.
Przykład 3: Użycie operatora BETWEEN z klauzulą Order By
Oracle pozwala nam również korzystać z klauzul takich jak ORDER BY lub GROUP BY w celu uporządkowania wynikowych wartości w określonej kolejności.
Na przykład możemy uporządkować poprzednią tabelę na podstawie wartości wynagrodzenia, zaczynając od najwyższej do najniższej.
WYBIERAĆ IMIĘ , E-MAIL , DATA WYNAJMU , PENSJAOD PRACOWNIKÓW
GDZIE DATA WYNAJMU POMIĘDZY DATA „2006-01-01” ORAZ DATA „2007-01-01”
ZAMÓWIENIE PRZEZ PENSJA OPIS ;
Wynikowa tabela jest następująca:
Wniosek
W tym samouczku zbadaliśmy użycie operatora BETWEEN w bazach danych Oracle, który umożliwia nam wyszukiwanie wierszy, których wartość pasuje do podanego zakresu.