Оператор BETWEEN в Oracle

Operator Between V Oracle



Независимо от того, работаете ли вы с производственной или демонстрационной базой данных, вы заметите, что большинство баз данных содержат от тысяч до миллионов записей.

Редко бывают случаи, когда вам нужно получить все записи из данной таблицы. Вместо этого вы часто обнаруживаете, что извлекаете записи, которые соответствуют определенному условию или находятся в заданном диапазоне.

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







Оператор Oracle МЕЖДУ

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



Когда мы используем оператор BETWEEN с оператором SELECT, выбираются только строки, значения которых находятся в пределах указанного диапазона.



Мы выражаем синтаксис оператора BETWEEN, как показано ниже:





выражение МЕЖДУ нижний_диапазон И верхний_диапазон;

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

Предположим, мы хотим получить все строки из таблицы сотрудника, чья зарплата находится в заданном диапазоне. В этом случае столбец зарплаты называется выражением.



Ниже приведен псевдосинтаксис предыдущей аналогии:

ВЫБРАТЬ КОЛОННЫ КУДА зарплата МЕЖДУ значение_1 И значение_2;

Параметры нижний_диапазон и верхний_диапазон используются для установки наименьшего и наибольшего значений, включаемых в диапазон.

Параметры нижний_диапазон и верхний_диапазон связаны оператором И.

Как только мы выполняем оператор, оператор BETWEEN возвращает TRUE для любого значения, которое больше или равно наименьшему_диапазону и меньше или равно верхнему_диапазону.

В большинстве случаев оператор BETWEEN используется с предложением WHERE, которое позволяет ввести условие поиска.

Примеры операторов Oracle BETWEEN

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

Предположим, у нас есть таблица, как показано на рисунке:

ВЫБРАТЬ EMPLOYEE_ID , ИМЯ , ЭЛЕКТРОННОЕ ПИСЬМО , ЗАРПЛАТА ОТ СОТРУДНИКИ;

Результирующая таблица:

Пример 1. Проверка числового диапазона с помощью оператора BETWEEN

Предположим, мы хотим определить всех сотрудников, чья зарплата колеблется от 20 000 до 50 000.

Мы можем выполнить оператор SELECT с оператором BETWEEN в сочетании с предложением WHERE, как показано ниже:

ВЫБРАТЬ EMPLOYEE_ID , ИМЯ , ЭЛЕКТРОННОЕ ПИСЬМО , ЗАРПЛАТА
ОТ СОТРУДНИКИ
КУДА ЗАРПЛАТА МЕЖДУ 20000 И 50000 ;

Предыдущий запрос должен вернуть сотрудников, зарплата которых находится в этом диапазоне, как показано ниже:

Здесь у нас есть только одна строка, соответствующая этому диапазону зарплат.

Пример 2. Тестирование диапазона дат с помощью оператора BETWEEN

Мы также можем использовать оператор BETWEEN для поиска записей, соответствующих определенному диапазону дат.

В качестве примера возьмем следующую таблицу:

ВЫБРАТЬ ИМЯ , ЭЛЕКТРОННОЕ ПИСЬМО , ДАТА ПРИЕМА НА РАБОТУ , ЗАРПЛАТА
ОТ СОТРУДНИКИ;

Предположим, мы хотим определить всех сотрудников, дата найма которых находится в заданном диапазоне.

Мы также можем соединить оператор BETWEEN с предложением WHERE, как показано ниже:

ВЫБРАТЬ ИМЯ , ЭЛЕКТРОННОЕ ПИСЬМО , ДАТА ПРИЕМА НА РАБОТУ , ЗАРПЛАТА
ОТ СОТРУДНИКИ
КУДА ДАТА ПРИЕМА НА РАБОТУ МЕЖДУ ДАТИРОВАТЬ '2006-01-01' И ДАТИРОВАТЬ '2007-01-01' ;

В этом случае мы проверяем условие поиска, где значение столбца найма_даты находится между 2006-01-01 и 2007-01-01.

Это должно вернуть совпадающие строки, как показано ниже:

Обратите внимание, что все значения находятся в диапазоне указанной даты.

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

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

Например, мы можем упорядочить предыдущую таблицу на основе значения заработной платы, начиная с самого высокого до самого низкого.

ВЫБРАТЬ ИМЯ , ЭЛЕКТРОННОЕ ПИСЬМО , ДАТА ПРИЕМА НА РАБОТУ , ЗАРПЛАТА
ОТ СОТРУДНИКИ
КУДА ДАТА ПРИЕМА НА РАБОТУ МЕЖДУ ДАТИРОВАТЬ '2006-01-01' И ДАТИРОВАТЬ '2007-01-01'
ПОРЯДОК К ЗАРПЛАТА DESC ;

В результате таблица выглядит следующим образом:

Заключение

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