Оператор BETWEEN в Oracle

Operator Between V Oracle



Независимо дали работите с производствена или примерна база данни, ще забележите, че повечето бази данни съдържат хиляди до милиони записи.

Рядко са моментите, когато трябва да извлечете всички записи от дадена таблица. Вместо това често се оказвате, че извличате записите, които отговарят на конкретно условие или в даден диапазон.

В тази публикация ще научим как да използваме оператора BETWEEN в базата данни на Oracle, който ни позволява да избираме редове със стойности, които съответстват на определен диапазон от таблица на база данни.







Оператор Oracle BETWEEN

Операторът BETWEEN в Oracle ни позволява да предоставим условие за търсене, когато използваме DML изразите като SELECT, INSERT, UPDATE или DELETE.



Когато използваме оператора BETWEEN с оператор SELECT, се избират само редовете, чиито стойности са между посочения диапазон.



Изразяваме синтаксиса на оператора BETWEEN, както е показано по-долу:





изразяване МЕЖДУ по-нисък_диапазон И горен_диапазон;

Изразът в този случай дефинира целевия израз, чиято стойност на обхват трябва да бъде тествана.

Да предположим, че искаме да извлечем всички редове от таблицата на служител, чиято заплата е в даден диапазон. В този случай колоната за заплати се нарича израз.



Следното е псевдосинтаксис за предишната аналогия:

ИЗБЕРЕТЕ КОЛОНИ КЪДЕТО заплата МЕЖДУ стойност_1 И стойност_2;

Параметрите lower_range и upper_range се използват за задаване на най-ниската и най-високата стойност за включване в диапазона.

Параметрите lower_range и upper_range са свързани чрез оператора AND.

След като изпълним израза, операторът BETWEEN връща TRUE за всяка стойност, която е по-голяма или равна на най-ниския_диапазон и по-малка или равна на горния_диапазон.

В повечето случаи операторът BETWEEN се използва с клауза WHERE, която ви позволява да въведете условието за търсене.

Примери за оператори Oracle BETWEEN

В този раздел ще предоставим някои примери за използване на оператора BETWEEN в базата данни на Oracle.

Да предположим, че имаме таблица, както е показано:

ИЗБЕРЕТЕ EMPLOYEE_ID , ПЪРВО ИМЕ , ЕЛЕКТРОННА ПОЩА , ЗАПЛАТА ОТ СЛУЖИТЕЛИ;

Резултатна таблица:

Пример 1: Тестване на числовия диапазон с помощта на оператора BETWEEN

Да предположим, че искаме да определим всички служители, чиято заплата варира от 20 000 до 50 000.

Можем да изпълним оператор SELECT с оператор BETWEEN във връзка с клауза WHERE, както е показано по-долу:

ИЗБЕРЕТЕ EMPLOYEE_ID , ПЪРВО ИМЕ , ЕЛЕКТРОННА ПОЩА , ЗАПЛАТА
ОТ СЛУЖИТЕЛИ
КЪДЕТО ЗАПЛАТА МЕЖДУ 20 000 И 50 000 ;

Предишната заявка трябва да върне служителите, чиято заплата е в този диапазон, както е показано по-долу:

Тук имаме само един ред, който съответства на този диапазон на заплатите.

Пример 2: Тестване на периода от време с помощта на оператора BETWEEN

Можем също да използваме оператора BETWEEN, за да търсим записи, които съответстват на определен период от време.

Вземете следната таблица като пример:

ИЗБЕРЕТЕ ПЪРВО ИМЕ , ЕЛЕКТРОННА ПОЩА , HIRE_DATE , ЗАПЛАТА
ОТ СЛУЖИТЕЛИ;

Да предположим, че искаме да определим всички служители, чиято дата на наемане е в даден диапазон.

Можем също да сдвоим оператора BETWEEN с клауза WHERE, както е показано по-долу:

ИЗБЕРЕТЕ ПЪРВО ИМЕ , ЕЛЕКТРОННА ПОЩА , HIRE_DATE , ЗАПЛАТА
ОТ СЛУЖИТЕЛИ
КЪДЕТО HIRE_DATE МЕЖДУ ДАТА '2006-01-01' И ДАТА '2007-01-01' ;

В този случай тестваме условието за търсене, при което стойността на колоната hire_date е между 2006-01-01 и 2007-01-01.

Това трябва да върне съответстващите редове, както е показано по-долу:

Забележете как всички стойности са в диапазона на посочената дата.

Пример 3: Използване на оператора BETWEEN с клауза Order By

Oracle също ни позволява да използваме клаузите като ORDER BY или GROUP BY, за да подредим получените стойности в даден ред.

Например, можем да подредим предишната таблица въз основа на стойността на заплатата, започвайки от най-високата към най-ниската.

ИЗБЕРЕТЕ ПЪРВО ИМЕ , ЕЛЕКТРОННА ПОЩА , HIRE_DATE , ЗАПЛАТА
ОТ СЛУЖИТЕЛИ
КЪДЕТО HIRE_DATE МЕЖДУ ДАТА '2006-01-01' И ДАТА '2007-01-01'
ПОРЪЧКА ОТ ЗАПЛАТА ОПИСАНИЕ ;

Получената таблица е както следва:

Заключение

В този урок проучихме използването на оператора BETWEEN в бази данни на Oracle, който ни позволява да търсим редове, чиято стойност съответства на даден диапазон.