Итоговые запросы
Лабораторная работа № 3
«Запросы с вычисляемыми полями. Итоговые запросы».
Создадим запрос, который вычислит размер стипендии после увеличения ее на 15 процентов.
- Добавьте в бланк запроса из таблицы Стипендия поля № зачетки и поле К выдачи.
- Для создания выражения в вычисляемом поле щелкните по пустому полю в бланке QBE, а затем по кнопке панели инструментов Построить, при этом откроется окно Построитель выражений (рис. 1).
Рис.1. Окно построителя выражений
- Для начала нужно щелкнуть дважды в левом списке по папке Таблицы, и выбрать таблицу Стипендия, а затем в колонке само поле К выдаче, щелкнуть по кнопке Вставить.
Все имена объектов, из которых строится выражение для вычисления, заключены в квадратные скобки, причем перед именем поля может стоять восклицательный знак ( ! ) разделяющий его и имя таблицы.
В результате у вас должно получиться выражение:
[Стипендия]![К выдаче]+ [Стипендия]![ К выдаче]*0,15
Если щелкнуть по кнопке ОК, то полученный результат будет перенесен в бланк QBE.
- Запустите запрос на выполнение. В последнем столбце вы должны получить значение стипендии, увеличенной на 15 %.
- Измените заголовок столбца. Вместо Выражение1 введите Новая стипендия. Для этого перейдите в режим Конструктора, в заголовке последнего столбца, куда вводилось выражение, удалите до двоеточия Выражение1 и введите перед двоеточием Новая стипендия.
- Щелкните правой клавишей по полю Новая стипендия и выберите Свойства, в открывшемся окне в строке Формат поля из списка выберите Денежный.
Закройте запрос, задайте имя Стипендия увеличенная на 15 %
Итоговые запросы
Итоговые запросы значительно отличаются от обычных запросов. В них поля делятся на 2 типа:
- поля, по которым осуществляется группировка данных;
- поля, для которых проводятся вычисления.
Создадим итоговый запрос, в котором подсчитывается количество студентов на каждой специальности.
· В режиме Создать запрос в режиме конструктора добавьте таблицу Студенты.
· В бланк запроса поместите поля Специальность и Фамилия.
· Нажмите на кнопку Групповые операции на панели инструментов.
В результате чего в бланке запроса появится строка Групповая операция. Если для соответствующего поля из списка выбрать функцию Группировка (рис 2), то при выполнении запроса записи по этому полю группируются по значениям в этом поле, но итог не подводится.
Группировка в итоговом запросе производится только по одному полю. Во всех остальных полях вводятся итоговые функции.
Рис 2. Строка Групповая операция в бланке QBE
Access предоставляет ряд функций, обеспечивающих выполнение групповых операций. Можно задать нужную функцию, набрав на клавиатуре ее имя в строке, Групповая операцияили выбрав ее из раскрывающегося списка.
Основные групповые функции, которыми можно воспользоваться:
SUМ - вычисляет сумму всех значений заданного поля (для числовых или денежных полей), отобранных запросом;
AVG- вычисляет среднее значение в тех записях определенного поля, которые отобраны запросом ( для числовых или денежных полей);
MIN- выбирает минимальное значение в записях определенного поля, отобранных запросом;
MAX – выбирает максимальное значение в записях определенного поля, отобранных запросом;
COUNT – вычисляет количество записей, отобранных запросом в определенном поле, в которых значения данного поля отличны от нуля;
FIRST - определяет первое значение в указанном поле записей;
LAST -. определяет последнее значение в указанном поле записей.
Для поля Фамилия выберите из раскрывающегося списка в строке Групповые операции функцию COUNT.
· Запустите запрос на выполнение
· Изменим подпись поля COUNT_Фамилия на Количество студентов. Для этого перейдите в режим Конструктора, щелкните правой клавишей мыши по полю Фамилия, выберите Свойства, в строке Подпись введите Количество студентов.
· Запустите запрос и убедитесь, что столбец переименован.
Запросы к нескольким таблицам
Запросы можно создавать для отбора данных как из одной, так и из нескольких таблиц. Запросы к нескольким таблицам производятся аналогично запросам к однотабличным БД с той лишь разницей, что в окно конструктора запроса добавляются все таблицы, данные которых нужны в запросе.
Создадим запрос, который будет подсчитывать средний балл каждого студента.
· В режиме Конструктора добавьте таблицы Студенты и Экзамены.
· В бланк запроса поместите поля: Фамилия, Имя, Специальность, Группа, Оценка.
· Нажмите на кнопку Групповые операции.
· В строке Групповая операция выберите из списка функцию AVG.
· Запустите запрос. На калькуляторе проверьте правильность вычисления среднего значения.
· Переименуйте поле AVG_ баллы в Рейтинг.
· Закройте запрос, сохранив его под названием Рейтинг студентов.
САМОСТОЯТЕЛЬНО ВЫПОЛНИТЬ:
Создайте следующие запросы:
1. вывести на экран фамилии студентов, у которых стипендия больше 5$;
2. количество студентов, занимающиеся не в 1-ой группе и стипендия которых в пределах от 20 до 50 р.
3. количество студентов, сдавших меньше 2 экзаменов.
4. фамилии студентов, чей средний балл не превышает 3,7;
5. студент, имеющий наивысший рейтинг.
6. количество студентов, сдавших экзамены на 5.
7. количество студентов во время сдавших экзамены;
8. количество иногородних студентов, обучающихся на специальности ВКСС;
9. Сумма стипендии, получаемой студентами 2 курса специальности ТМС;
10. вычислить возраст студентов;