SQL между оператором
МЕЖДУ Оператором
Оператор SQL BETWEEN проверяет выражение в диапазоне. Диапазон состоит из начала, за которым следует ключевое слово AND и конечное выражение. Оператор возвращает TRUE, когда значение поиска, присутствующее в диапазоне, в противном случае возвращает FALSE. Результаты равны NULL, если любое из значений диапазона равно NULL.
Синтаксис:
SELECT [имя_столбца ... | выражение1] ОТ [имя_таблицы] ГДЕ выражение2 [НЕ] МЕЖДУ value_from И value_to;
Параметры:
название | Описание |
---|---|
column_name | Имя столбца таблицы. |
выражение1 | Выражение состоит из одной константы, переменной, скалярной функции или имени столбца и может также быть фрагментами запроса SQL, которые сравнивают значения с другими значениями или выполняют арифметические вычисления. |
table_name | Наименование таблицы. |
ГДЕ выражение2 | Сравнивает скалярное выражение, такое как столбец, с диапазоном значений, ограниченных value_from и value_to |
value_from, value_to | Начальное значение и конечное значение. |
Поддержка СУБД: МЕЖДУ Оператором
СУБД | команда |
MySQL | поддержанный |
PostgreSQL | поддержанный |
SQL Server | поддержанный |
оракул | поддержанный |
Пример: оператор SQL между
Чтобы узнать, присутствует ли значение поиска 15 в указанном диапазоне из таблицы DUAL , можно использовать следующую инструкцию SQL:
Код SQL:
SELECT 'found'
FROM dual
WHERE 10 BETWEEN 5 AND 20;
Выход:
'НАЙДЕННЫЙ' -------- найденный
Иллюстрированная презентация: оператор SQL МЕЖДУ
Здесь мы ищем всех агентов в таблице агентов базы данных инвентаризации, комиссионные которых должны быть в пределах от .12 до .14.
Пример таблицы: агенты
Код SQL:
SELECT * FROM agents
WHERE commission BETWEEN .12 AND .14;
Выход:
AGENT_CODE AGENT_NAME WORKING_AREA COMMISSION PHONE_NO COUNTRY ---------- -------------------- -------------------- ---------- --------------- ---------- A003 Алекс Лондон .13 075-12458969 A001 Subbarao Bangalore .14 077-12346674 A008 Alford New York .12 044-25874365 A010 Santakumar Chennai .14 007-22388644 A012 Люсида Сан-Хосе .12 044-52981425 A005 Андерсон Брисбан .13 045-21447739
Иллюстрированная презентация: оператор SQL МЕЖДУ
Пример: оператор SQL Between с IN
Образец таблицы: клиент
Чтобы получить данные всех столбцов из таблицы customer со следующими условиями:
1. 'agent_code' должен быть в пределах 'A003' и 'A008',
2. но 'agent_code' 'A004', 'A007' и 'A005' не должны появляться,
можно использовать следующий оператор SQL:
Код SQL:
SELECT agent_code, cust_code, cust_name, cust_city
FROM customer
WHERE(agent_code BETWEEN 'A003' AND 'A008')
AND NOT agent_code IN('A004','A007','A005');
Выход:
AGENT_CODE CUST_CODE CUST_NAME CUST_CITY ---------- ---------- ------------------------------ ---------- ------------ A003 C00013 Холмс Лондон A008 C00001 Micheal Нью-Йорк A008 C00020 Альберт Нью-Йорк A006 C00024 Повар Лондон A003 C00015 Стюарт Лондон A008 C00002 Болт Нью-Йорк A006 C00023 Карл Лондон
Пример: оператор SQL Between с текстовым значением
Образец таблицы: клиент
Чтобы получить данные столбцов cust_code, cust_name, cust_city, working_area из таблицы customer со следующими условиями:
1. «cust_name» должно начинаться с любой буквы между «A» и «I»,
можно использовать следующий оператор SQL:
Код SQL:
SELECT cust_code, cust_name, cust_city, working_area
FROM customer
WHERE cust_name BETWEEN 'A' AND 'I';
Выход:
CUST_CODE CUST_NAME CUST_CITY WORKING_AREA ---------- --------------------- ------------------- ---------------- -------------- C00013 Холмс Лондон Лондон C00020 Альберт Нью-Йорк Нью-Йорк C00024 Кук Лондон Лондон C00002 Болт Нью-Йорк Нью-Йорк C00018 Флеминг Брисбан Брисбан C00022 Avinash Mumbai Mumbai C00010 Charles Hampshair Hampshair
Пример: оператор SQL Between с логическим значением NOT
Образец таблицы: клиент
Чтобы получить данные столбцов cust_code, cust_name, cust_city, working_area из таблицы customer со следующими условиями:
1. 'cust_name' не должно начинаться с какой-либо буквы между 'K' и 'Y',
можно использовать следующий оператор SQL:
SELECT cust_code, cust_name, cust_city, working_area
FROM customer
WHERE cust_name NOT BETWEEN 'K' AND 'Y';
Выход
CUST_CODE CUST_NAME CUST_CITY WORKING_AREA ---------- ------------------------------ ---------- ------------------------- ------------- C00013 Холмс Лондон Лондон C00020 Альберт Нью-Йорк Нью-Йорк C00024 Кук Лондон Лондон C00002 Болт Нью-Йорк Нью-Йорк C00018 Флеминг Брисбан Брисбан C00021 Домкраты Брисбан Брисбан C00019 Yearannaidu Chennai Chennai C00022 Avinash Mumbai Mumbai C00010 Charles Hampshair Hampshair
Пример: оператор SQL Between со значением NOT on даты
Пример таблицы: заказы
Чтобы получить данные 'ord_num', 'ord_amount', 'advance_amount', 'ord_date', 'cust_code' и 'agent_code' из таблицы 'orders' со следующим условием -
1. 'ord_date' должно быть датой до '15 -Feb-08 'или после '30 -Jul-08',
можно использовать следующий оператор SQL:
Код SQL:
SELECT ord_num,ord_amount,ord_date, cust_code,agent_code
FROM orders
WHERE ord_date NOT BETWEEN '15-Feb-08' AND '30-Jul-08';
Выход:
ORD_NUM ORD_AMOUNT ORD_DATE CUST_CODE AGENT_CODE ---------- ---------- --------- ---------- ---------- 200114 3500 15-AUG-08 C00002 A008 200122 2500 16-сен-08 C00003 A004 200119 4000 16-сен-08 C00007 A010 200121 1500 23-сен-08 C00008 A004 200134 4200 25-SEP-08 C00004 A005 200125 2000 10-ОКТ-08 C00018 A005 200117 800 20-ОКТ-08 C00014 A001 200123 500 16-SEP-08 C00022 A002 200135 2000 16-SEP-08 C00007 A010 200131 900 26-AUG-08 C00012 A012 200100 1000 08-ЯНВ-08 C00015 A003 200107 4500 30-авг-08 C00007 A010
Смотрите нашу базу данных моделей
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования