Итоговые запросы

Лабораторная работа № 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. вычислить возраст студентов;