
Задание 6. Итоговые запросы (Запросы с группировкой)
Запросы позволяют не только отбирать нужную информацию из таблиц и обрабатывать ее путем создания новых (вычисляемых) полей, но и производить так называемые итоговые вычисления.
Примером итогового вычисления может служить сумма всех значений в какой-то группе записей или их среднее значение, хотя кроме суммы и среднего значения существуют и другие итоговые функции.
Поскольку итоговые функции для одной записи не имеют смысла и существуют только для группы записей, то предварительно записи надо сгруппировать по какому-либо признаку.
Итоговые запросы создают на основе известного нам бланка запроса по образцу, только теперь в нем появляется дополнительная строка — Группировка.
Для введения этой колонки в бланк надо в первом или втором разделе щелкнуть в контекстном меню на ADD group by (Добавить группировку). Если хотите отказаться от группировки, то опять вызовите контекстное меню и выберите пункт Remove group by (Удалить группировку).
Далее после добавления группировки все происходит очень просто.
-
В тех полях, по которым производится группировка, надо установить (или оставить) функцию Group by (Группировка).
-
В тех полях, по которым следует провести итоговое вычисление, надо в колонке Группировка соответствующего поля раскрыть список и выбрать одну из нескольких итоговых функций.
-
В ячейке Группировка можно указать лишь одну итоговую функцию. А как быть, если надо найти и сумму, и среднее, и максимальное значение, и еще что-то по одному и тому же полю? Решение простое: одно и то же поле можно включить в бланк запроса по образцу несколько раз.
Примеры итоговых вычислений (агрегатных функций):
AVG – среднее по группе;
MIN – минимальное в группе;
MAX – максимальное в группе;
COUNT – количество записей в группе;
SUM – сумма по группе.
В одну группу объединяются записи, у которых в поле, на котором установлена группировка, хранятся одинаковые значения.
Создать новое представление. Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. Добавить колонку Group By (Групповые операции). Установить в этой колонке для каждого поля указанные в карточке значения. Выполнить запрос. Проанализировать результат. Сохранить запрос с названием ЗАПРОС 6. Закрыть запрос.
Задание сложных условий отбора
Если в условиях отбора используется несколько полей, то они могут соединяться оператором “И” либо “ИЛИ”. Если условия поиска записаны в в колонке Filter, то считается, что они соединены оператором “И” (“AND”). Если условия поиска записаны в столбцах OR, то считается, что они соединены оператором “ИЛИ” (“OR”).
При создании запроса для указания конкретных типов значений используются:
- прямые апострофы (' ') для строковых значений и для дат, при этом формат даты следующий 'dd-mon-yyyy', где dd – число месяца цифрами, mon – название месяца тремя первыми буквами английского названия месяца, yyyy – год цифрами.
-
Квадратные скобки [ ] используются для указания в них названий полей и таблиц, в которых присутствуют пробелы.
Задание 7. Создать новое представление. Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. Наберите условие отбора, указанное в карточке. Сохранить запрос с названием ЗАПРОС 7. Выполнить запрос, проанализировать результат. Закрыть запрос.
Задание 8. Создать новое представление. Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. Наберите условие отбора, указанное в карточке. Наберите условие ИЛИ, указанное в карточке. Сохранить запрос с названием ЗАПРОС 8. Выполнить запрос, проанализировать результат. Сравнить результат с предыдущим запросом. Закрыть запрос.
Задание 9. Создать новое представление. Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. Наберите условие отбора, указанное в карточке. Выполните запрос. Вернитесь в конструктор. Измените условие, как указано в карточке. Выполните запрос. Проанализируйте отличия между двумя вариантами выполнения. Сохранить запрос с названием ЗАПРОС 9. Закрыть запрос.
Задание 10. Создать новое представление. Добавить на бланк запроса таблицу, указанную в карточке. Заполнить бланк полями, указанными в карточке. Наберите условие отбора, указанное в карточке. Выполните запрос. Вернитесь в конструктор. Измените условие, как указано в карточке.
Выполните запрос. Проанализируйте отличия между двумя вариантами выполнения. Вернитесь в конструктор. Измените условие, как указано в карточке.
Выполните запрос. Проанализируйте отличия между тремя вариантами выполнения. Сохранить запрос с названием ЗАПРОС 10. Закрыть запрос.