Многотабличные запросы. Группировка
Многотабличным считается запрос, в который отбираются данные, содержащиеся в двух или более таблицах.
Создать такой запрос можно при помощи мастера, предварительно указав, что данные будут отобраны из нескольких таблиц или при помощи конструктора.
Создание многотабличных запросов при помощи конструктора практически не отличается от создания однотабличного запроса, за исключением того, что нужно добавить не одну, а несколько таблиц или уже готовых запросов в схему данных запроса. При необходимости, можно установить между ними связь.
Группировка.Чтобы воспользоваться встроенными средствами Access для выполнения некоторых вычислений при формировании запроса, необходимо сделать видимой строку Групповая операция, расположенную в бланке запроса (Вид ® Групповые операции).
По мере того, как вы будете вводить в бланке запроса имена новых полей, в поле Групповая операция появится значение Группировка. Данное значение используется для того, чтобы сгруппировать значения, содержащиеся в данном поле.
Если в строке Группировка содержится несколько полей, то результаты запроса будут содержать строки с каждым уникальным сочетанием этих полей.
Кроме группировки в строке Групповая операция могут содержаться следующие итоговые операции:
- Count подсчитывает количество совпадающих записей в группе и выводит их на экран;
- Sum суммирует значения одного или нескольких числовых полей таблицы;
- Avg вычисляет среднее значение всех чисел, содержащихся в данном поле;
- Min находит минимальное значение из всех найденных в результате выполнения запроса;
- Max находит максимальное значение из всех найденных в результате выполнения запроса;
- StDev рассчитывает стандартное отклонение для отобранных значений поля;
- Var рассчитывает дисперсию для отобранных значений поля;
- First выводит первую запись, найденную в результате выполнения запроса;
- Last выводит последнюю запись, найденную в результате выполнения запроса.
В списке кроме итоговых операций находятся Группировка, Выражение иУсловие.
- Группировку используют для тех полей, записи которых объединяют в группы;
- Выражение сообщает Access о желании выполнить вычисления в поле;
- Условие указывает, что данное поле является частью критерия поиска. И в строке Условие отбора необходимо ввести критерий поиска по данному полю.
Практическая часть
Порядок выполнения работы
1. Запустить БД, созданную на предыдущих лабораторных работах.
2. В соответствии с вариантом создать запросы на выборку.
Вариант 1
1. Выбрать читателей библиотеки, фамилии которых начинаются на букву «С» и заканчиваются на буквы «ий».
2. Выдать список читателей, которые на руках держат книгу А. А. Иванов «Криптография».
3. Выдать список читателей-задолжников с указанием книг, которые они не вернули вовремя, и контактных телефонов читателей.
4. Подсчитать, на какую сумму заказаны книги по каждому поставщику.
5. Подсчитать общее количество экземпляров книг в библиотеке по каждому из жанров.
Вариант 2
1. Выбрать всех белорусских поставщиков.
2. Выдать все поставки книг за последний месяц с указанием названия поставщика.
3. Выдать всех заказчиков, которые заказали товар «Сахар» в количестве не менее 50 мешков с указанием названия и телефона заказчика.
4. Подсчитать сумму, на которую были закуплены товары по каждому поставщику.
5. Подсчитать прибыль склада по каждому виду товара за последний год.
Вариант 3
1. Выбрать всю технику фирмы «Samsung».
2. Выдать список клиентов ателье, которые в прошедшем месяце ремонтировали телевизоры.
3. Выдать список работников ателье, которые производили ремонт магнитофонов фирмы «Sony».
4. Сформировать список, содержащий номер заказа, фамилию заказчика и сумму, которую он заплатил за обслуживание.
5. Подсчитать общую зарплату сотрудников ателье за прошлый год.
Вариант 4
1. Выбрать все автомобили марки «Audi 100».
2. Выдать список всех поставщиков автомобиля «Ford Sierra», 1988 года выпуска, синего цвета, поставлявших данные автомобили в прошлом году.
3. Выдать фамилии всех клиентов автосалона, имеющих автомобили, объем двигателей которых от 1,8 до 2,0 литров, указать телефоны клиентов, марку автомобиля, год выпуска и название поставщиков данных автомобилей.
4. Выдать список клиентов автосалона, купивших за последние три года автомобили на общую сумму не менее 50 тысяч у. е.
5. Подсчитать объем продаж автомобилей за последние две недели.
Вариант 5
1. Выбрать из меню ресторана только салаты.
2. Выдать список клиентов ресторана, которые всегда заказывают столики 1 или 2, с указанием номеров их телефонов.
3. Выдать список блюд, которые заказывают на столики 3 и 4.
4. Подсчитать общие суммы заказов по каждому столику.
5. Подсчитать общую сумму, которая была оставлена посетителями ресторана за последний год.
Вариант 6
1. Вывести фамилии всех квартиросъемщиков ЖЭСа, проживающих на улице Пантелеева.
2. Вывести фамилии всех квартиросъемщиков ЖЭСа, имеющих льготы, с указанием их адресов.
3. Вывести фамилии всех задолжников с указанием их адреса и суммы долга.
4. Подсчитать сумму долга по каждому дому.
5. Подсчитать общую сумму поступивших платежей и общую сумму долга квартиросъемщиков ЖЭСу за прошедший месяц.
Вариант 7
1. Вывести список рейсов, на которых задействован самолет ТУ–154.
2. Вывести фамилии всех пассажиров с указанием даты отправления, летавших в Лондон, за прошедший месяц.
3. Вывести все рейсы, на которых работала стюардесса Иванова, за последние 6 месяцев. Для каждого рейса указать название самолета, его технические характеристики.
4. Вывести количество занятых мест по каждому рейсу с указанием места следования самолета.
5. Подсчитать сумму, заплаченную за билеты по каждому самолету.
Вариант 8
1. Вывести фамилии всех преподавателей колледжа, читающих предмет СУБД.
2. Выдать список предметов, читаемых преподавателем Ивановым А. А., общее количество часов которых не превышает 200 часов.
3. Выдать список фамилий студентов колледжа, обучающихся на отделении электроники, в группах которых читает лекции преподаватель Петров И. И., и получивших оценку по его предмету (в результате экзамена) не меньше 7 баллов.
4. Подсчитать общее количество часов, читаемых для каждой группы.
5. Подсчитать количество преподавателей колледжа по каждой кафедре. При выводе на экран указать название кафедры и информацию о заведующем.
Контрольные вопросы
1. Какие виды запросов вы знаете?
2. Перечислите операторы условия.
3. Какие операции называются групповыми? Перечислите их.
Лабораторная работа 4