Запрос на выборку
Перейдите на вкладку Запрос.
В режиме Конструктора создайте и сохраните следующие запросы на выборку, определив нужные таблицы:
>• список всех путешествий в определенную страну (например, Испанию);
>• список всех регионов в конкретной стране (например, Англии). Сохраните запрос под именем «Страна-Регион»;
>• все туры, проданные в 200? году. Сохраните запрос с именем «Туры 200?»;
>• список сотрудников, работающих с 1995 года и раньше. Сохраните запрос с именем «Ветераны». Добавьте в запрос строку «Сортировка» и установите сортировку по фамилиям.
3. Опробуйте инструмент Построить при построении следующих
запросов в сочетании с вводом критериев поиска вручную. Создайте
запросы для извлечения данных по:
>• сотрудникам, которые родились в 1973 г., используя в качестве критерия выражение: Between... and (Построить àОператоры àСравнения àВеtwееп), а затем повторите запрос, построив выражение с помощью знаков «<» и «>»;
>• сотрудникам, фамилии которых с «Г» по «Я»;
>• сотрудникам, фамилии которых начинаются с «И» по «Я» и с «А» по «В»;
>• индивидуальным клиентам, фамилии которых имеют вторую букву «о»;
>• пяти фамилиям сотрудников, которые начинаются с букв «А» или «В» (используйте инструмент ).
>• постоянным клиентам, количество договоров с которыми больше 3.
Перейдите в окно БД и скопируйте запрос с новым именем, удалите запрос. I
Запросы с вычисляемыми полями
5. Создайте запрос для расчета ведомости заработной платы для
сотрудников агентства, включив в нее следующие поля: Фамилия сотрудника, Размер оклада, Стаж, Надбавка, Налог, На руки.
Для поля Стаж нужно использовать формулу, построенную с помощью кнопки Построить, в которой учитывается сегодняшняя дата и Дата найма на работу:
Стаж: (Date()-Сотрудники!ДатаНайма)/365
Для поля Надбавка нужно исходить из того, что она составляет 10% от Размера оклада, если Стаж меньше 5лет, и 20% — если стаж больше 5 лет: IIf([стаж]< 10;0,1 *[Сотрудники]![Размер оклада]; 0,2* [Сотрудники]! [Размер оклада])
Поле Налог рассчитывается как 13% от Размера оклада:
[Сотрудники]![Размер оклада] *0,13
Поле На руки рассчитывается как:
[Размер оклада]+[надбавка]-[налог].
В результате выполнения запроса будет получена ведомость:
Фамилия ИО | Должность | стаж | Размер оклада | надбавка | налог | На руки |
Иванов | Менеджер по продажам | 1046,5 | 7808,5 | |||
Уварова | агент |
Создайте запрос для определения стоимости путевок корпоративных клиентов, включив в него поля Клиент,
Стоимость путевки: Sum(договоры![Цена тура]*договоры![Число туристов])
Параметрические запросы
Сформируйте запрос для выборки всех туров по названию
страны.
Создайте запрос для получения данных на сотрудников, работающих по турам в конкретную страну.
Создайте запрос по всем клиентам, оформившим договоры в определенную страну и регион.
Итоговые запросы
9. Создайте запрос, используя подходящие функции, найдите наибольший и средний размеры цены тура.
10. Создайте запрос для подсчета объема продаж: путевок в конкретную страну. Для этого:
· добавьте в Конструкторе запросов таблицу Договоры и Страны;
· добавьте в бланк запроса поля Название страны (из таблицы Страны) и расчетное поле Цена тура * Число туристов, которому присвоим название Стоимость путевок;
· выберите команду Вид →Групповыеоперации и в выпадающем списке в строке «Группировка» для поля Стоимость путевок установите функцию SUM;
· запустите запрос и просмотрите результаты.
Создайте запрос для определения средней цены и общей суммы
туров за 200? год (год туров вашей БД).
Для объединения записей в группы и получения итоговых значений по каждой группе используется опция «Группировка». Создайте
новый запрос для БД Туризм, в котором определите общие суммы продаж путевок по годам:
· добавьте таблицу Договоры в окно запроса;
· в первый столбец поместите поле Год начала тура, рассчитав его с помощью функции Year, во второй — сумма общих продаж путевок — Sum(договоры![Цена тура]*договоры![Число туристов]);
· установите для первого столбца в строке «Групповая операция» — «Группировка», для второго — Выражение;
· выполните запрос и прокомментируйте результаты.
Можно объединять записи в группы по нескольким полям одновременно, а также создавать группы внутри групп.
13. В БД Борей (Справка → Примеры баз данных→Учебная база данных Борей) существуют три вида доставки: «Ространс», «Самовывоз» и «Почта». Определите, сколько заказов осуществлено каждым видом доставки каждому покупателю. Для этого:
>• в окно Конструктора запросов добавьте таблицы Заказы, Доставка и Клиенты;
>• поместите в бланк запроса поля Название из таблицы Клиенты, Название из таблицы Доставка и Код заказа;
>• задайте условия групповых операций: «Группировка» по первым двум полям и СОUNТ по Коду заказа;
>• выполните запрос, объясните результаты.
14.Дополните предыдущий запрос критерием, который включает
в выборку только те заказы, которые оформлены в 1995 г. и позже.
Для этого следует добавить в бланк запроса поле Дата заказа из таблицы «Заказы ». В строке «Групповая операция» выберите пункт «Условие ». В строке «Условие отбора » укажите условие на дату. Обязательно снимите флажок «Вывод на экран » для этого поля. Выполните запрос и проанализируйте результаты.
15.Выберите записи, стоимость перевозок, в которых превышает заданное значение.
16.Найдите записи, в которых для каждого вида доставки было оформлено более 5 заказов («Доставка » — «Группировка », Код заказа — СОUNТ, «Условие отбора » в поле Код заказа >=5).
Перекрестные запросы
1. Составьте запрос для выяснения: сколько туров организовано в
каждую страну в конкретный регион.
2. Составьте перекрестный запрос по теме: сколько туров начались в июле 2006 г. в разные страны.
3. Составьте перекрестный запрос для определения предпочтений клиентов разным регионам (сколько клиентов, в каком регионе побывали).