Основы баз данных
 
   

  Дополнительно лекции:

 

Реляционные операции. Команды языка манипулирования данными

BETWEEN

Предикат BETWEEN задает диапазон значений, для которого выражение принимает значение true. Разрешено также использовать конструкцию  NOT  BETWEEN.

 

SELECT first_name, last_name, salary

FROM employee

WHERE salary BETWEEN 20000 AND 30000
                          получить список сотрудников,
                                                                       годовая зарплата которых
                                                                       больше 20000 и меньше 30000.

 

FIRST_NAME      LAST_NAME           SALARY

=============== ========== ===============

Ann             Bennet            22935.00

Kelly           Brown             27000.00

 

Тот же запрос с использованием операторов сравнения будет выглядеть следующим образом:

 

SELECT first_name, last_name, salary

FROM employee

WHERE salary >= 20000

  AND salary <= 30000  получить список сотрудников,
                                                                       годовая зарплата которых
                                                                       больше 20000 и меньше 30000.

 

FIRST_NAME      LAST_NAME           SALARY

=============== ========== ===============

Ann             Bennet            22935.00

Kelly           Brown             27000.00

 

Запрос с предикатом BETWEEN может иметь следующий вид:

 

SELECT first_name, last_name, salary

FROM employee

WHERE last_name BETWEEN "Nelson" AND "Osborne"
                        получить список сотрудников,       фамилии которых начинаются с
                                                                “Nelson” и заканчиваются“Osborne”.

 

FIRST_NAME      LAST_NAME                 SALARY

=============== =============== ================

Robert          Nelson                 105900.00

Carol           Nordstrom               42742.50

Sue Anne        O'Brien                 31275.00

Pierre          Osborne                110000.00

 

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

 

SELECT first_name, last_name, salary

FROM employee

WHERE last_name BETWEEN "Nel" AND "Osb"
                           получить список сотрудников,
                                                                         фамилии которых находятся
                                                                         между  “Nel” и “Osb”.

 

FIRST_NAME      LAST_NAME                 SALARY

=============== =============== ================

Robert          Nelson                 105900.00

Carol           Nordstrom               42742.50

Sue Anne        O'Brien                 31275.00

 

В данном примере значений “Nel” и “Osb” в базе данных нет. Однако все сотрудники, входящие в диапазон, в нижней части которого начало фамилий совпадает с “Nel” (т.е. выполняется условие “больше или равно”), а в верхней части фамилия не более “Osb” (т.е. выполняется условие “меньше или равно” - а именно “O”, “Os”, “Osb”) попадут в выборку. Отметим, что при выборке с использованием предиката BETWEEN поле, на которое накладывается диапазон, считается упорядоченным по возрастанию.

 

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

 

SELECT first_name, last_name, hire_date

FROM employee

WHERE hire_date NOT BETWEEN "1-JAN-1989" AND "31-DEC-1993"                     получить список самых “старых”
                                                                       и самых “молодых” (по времени
                                                                       поступления на работу) сотрудников.

 

FIRST_NAME      LAST_NAME          HIRE_DATE

=============== ================ ===========

Robert          Nelson           28-DEC-1988

Bruce           Young            28-DEC-1988

Pierre          Osborne           3-JAN-1994

John            Montgomery       30-MAR-1994

Mark            Guckenheimer      2-MAY-1994

предыдущаяследующая

Fox Pro:

теоретический курс
практический курс


Наши спонсоры:

Литература | Полезные ссылки | Карта сайта | О проекте
Написать письмо:
admin@archae-dev.com.