кодесурса
«SQL

SQL между оператором

script1adsense2code
script1adsense3code

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

Оператор 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

Пример: оператор 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

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущая: IN
Далее: ЛЮБОЙ

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code