Создание запросов в СУБД Access
Рефераты >> Программирование и компьютеры >> Создание запросов в СУБД Access

Наконец, для получения минимального оклада на 15-5-1994:

 

Результат:

SELECT МинокладFROM МинокладыWHERE '15-05-1994' BETWEEN Начало AND Конец    

Миноклад

 

14620

 

С помощью BETWEEN . AND . (находится в интервале от . до .) можно отобрать строки, в которых значение какого-либо столбца находятся в заданном диапазоне.

Например, выдать перечень продуктов, в которых значение содержания белка находится в диапазоне от 10 до 50:

 

Результат:

SELECT Продукт, БелкиFROM ПродуктыWHERE Белки BETWEEN 10 AND 50;    

Продукт

Белки

Майонез

31.

Сметана

26.

Молоко

28.

Морковь

13.

Лук

17.

Можно задать и NOT BETWEEN (не принадлежит диапазону между), например:

 

Результат:

SELECT Продукт, Белки, ЖирыFROM Продукты WHERE Белки NOT BETWEEN 10 AND 50 AND Жиры > 100;    

Продукт

Белки

Жиры

Говядина

189.

124.

Масло

60.

825.

Яйца

127.

115.

 

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

Для примера воспользуемся таблицей "минимальных окладов" (табл. 2.1), величина которых непосредственно связана со студенческой стипендией. В этой таблице для текущего значения минимального оклада установлена запредельная дата окончания 9 сентября 9999 года.

Таблица 2.1 Минимальные оклады

Миноклад

Начало

Конец

2250

01-01-1993

31-03-1993

4275

01-04-1993

30-06-1993

7740

01-07-1993

30-11-1993

14620

01-12-1993

30-06-1994

20500

01-07-1994

09-09-9999

Если, например, потребовалось узнать, какие изменения минимальных окладов производились в 1993/94 учебном году, то можно выдать запрос SELECT Начало, МинокладFROM МинокладыWHERE Начало BETWEEN '1-9-1993' AND '31-8-1994'

и получить результат:

Начало

Миноклад

01-12-1993

14620

01-07-1994

20500

Отметим, что при формировании запросов значения дат следует заключать в апострофы, чтобы СУБД не путала их с выражениями и не пыталась вычитать из 31 значение 8, а затем 1994.

Для выявления всех значений минимальных окладов, которые существовали в 1993/94 учебном году, можно сформировать запрос SELECT *FROM МинокладыWHERE Начало BETWEEN '1-9-1993' AND '31-8-1994'OR Конец BETWEEN '1-9-1993' AND '31-8-1994'

Миноклад

Начало

Конец

7740

01/07/1993

30/11/1993

14620

01/12/1993

30/06/1994

20500

01/07/1994

09/09/9999

Наконец, для получения минимального оклада на 15-5-1994:

 

Результат:

SELECT МинокладFROM МинокладыWHERE '15-05-1994' BETWEEN Начало AND Конец    

Миноклад

 

14620

 

2.3.3. Использование IN

Выдать сведения о блюдах на основе яиц, крупы и овощей SELECT *FROM БлюдаWHERE Основа IN (Яйца Крупа Овощи);

Результат:

БЛ

Блюдо

В

Основа

Выход

Труд

1

Салат летний

З

Овощи

200.

3

3

Салат витаминный

З

Овощи

200.

4

16

Драчена

Г

Яйца

180.

4

17

Морковь с рисом

Г

Овощи

260.

3

19

Омлет с луком

Г

Яйца

200.

5

20

Каша рисовая

Г

Крупа

210.

4

21

Пудинг рисовый

Г

Крупа

160.

6

23

Помидоры с луком

Г

Овощи

260.

4

Рассмотренная форма IN является в действительности просто краткой записью последовательности отдельных сравнений, соединенных операторами OR. Предыдущее предложение эквивалентно такому: SELECT *FROM БлюдаWHERE Основа=Яйца OR Основа=Крупа OR Основа=Овощи;

Можно задать и NOT IN (не принадлежит), а также возможность использования IN (NOT IN) с подзапросом (см. главу 3).


Страница: