Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические 1 подгруппы..docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.91 Mб
Скачать

Запуск Построителя выражений из запроса

Откройте запрос в режиме Конструктора.

Щелкните ячейку в бланке запроса, куда требуется вставить выражение. Например, щелкните ячейку Условие отбора в столбце, для которого требуется задать условие отбора, или ячейку Поле в столбце, где требуется создать вычисляемое поле.

На вкладке Конструктор в группе Настройка запроса щелкните Построитель.

Использование статистических функций в запросе

Другим типом расчетов, которые могут выполняться в запросе, является подсчет итоговых значений. Например, для числового поля таблицы можно вычислить среднее значение или сумму значений для всех или отобранных записей, можно подсчитать количество записей, возвращаемых запросом, и т. д. В этих запросах используются статистические функции. Описание этих функций приведено в таблице.

Функция

Описание

Avg()

Вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса

Count()

Вычисляет количество непустых записей, возвращаемых запросом

First()

Возвращает значение поля из первой записи результирующего запроса

Last()

Возвращает значение поля из последней записи результирующего набора

Max()

Возвращает максимальное значение из набора, содержащегося в указанном поле

Min()

Возвращает минимальное значение из набора, содержащегося в указанном поле

Sum()

Возвращает сумму набора значений, содержащихся в заданном поле

Использование статистических функций для расчета итоговых значений тесно связано с применением групповых операций в запросе. Групповые операции позволяют задать группы, для которых выполняются вычисления. Ниже приведены примеры таких расчетов, как на всем множестве записей, так и на подмножествах, отобранных условиями в запросе.

Необходимо подсчитать количество книг в библиотеке по каждой тематике, для этого:

  1. с помощью Конструктора создайте запрос на основе таблиц Книги и Тематика;

  2. поместите в бланк запроса поля Наименование тематики и Наименование книги;

  3. щелкните на кнопке Групповые операции на панели инструментов. В бланк запроса добавляется строка Групповая операция, содержащая по умолчанию в каждой ячейке значение Группировка;

  4. для поля Наименование тематики оставьте значение Группировка, для поля Наименование книги выберите из списка функцию Count;

  5. нажмите кнопку Запуск на панели инструментов для просмотра результатов запроса. Вы получите таблицу, которая содержит список тематик книг, и для каждой тематики указывается количество книг в библиотеке, относящихся к ней.

В предыдущем примере расчеты производились над всеми имеющимися в таблице Тематика записями. Однако иногда требуется выполнить вычисления только над отобранным набором записей. Для этого вместе с групповыми операциями необходимо использовать и параметры.

Способы объединения таблиц в запросах

Когда в запрос включатся несколько таблиц, для получения нужных результатов используются объединения. Объединение помогает извлечь из каждой включенной в запрос таблицы только нужные записи, на основании сведений о том, как эти таблицы связаны с другими таблицами в запросе.

Существует следующие основные типы объединений: внутренние объединения и внешние.

Внутренние объединения — наиболее часто встречающийся тип объединений. Они представляют собой запросы, в которых строки одной из объединяемых таблиц соответствуют строкам другой таблицы по значениям в связанных полях. При выполнении запроса с внутренним объединением в операцию включаются только строки, имеющие одинаковые значения в обеих связанных таблицах.

Когда следует использовать внутреннее объединение?

Внутреннее объединение используется в том случае, когда запрос должен возвращать только те строки обеих таблиц объединения, значения связанных полей которых совпадают.

Как следует использовать внутреннее объединение?

В большинстве случаев для использования внутреннего объединения не нужно предпринимать каких-либо действий. Если ранее в окне схемы данных были созданы связи между таблицами, то при добавлении связанных таблиц в режиме конструктора запроса линии объединения создаются автоматически.

Внешние объединения представляют собой запросы, в которые включаются все строки одной таблицы, а также строки другой таблицы, значения которых в первой и второй таблице совпадают, несмотря на то, что некоторые из строк с обеих сторон полностью совпадают.

Внешние объединения являются направленными, они могут быть левыми или правыми. Можно легко понять, какая таблица в данном объединении является левой или правой, дважды щелкнув линию связи и посмотрев в диалоговое окно Параметры объединения.

Поскольку некоторые строки с одной стороны внешнего объединения не будут иметь в другой таблице соответствующих им строк, некоторые поля, принадлежащие другой таблице и возвращаемые в результатах запроса, будут иметь пустые значения.

Когда следует использовать внешнее объединение?

Используйте внешнее объединение, когда возникнет необходимость, чтобы в результаты объединения были включены все строки одной из таблиц и только те строки другой таблицы, значения связанных полей в которых соответствуют значениям связанных полей в первой таблице.

Как следует использовать внешнее объединение?

Внешние объединения создаются путем изменения внутренних объединений.

Пусть в таблице Тематика присутствует тематика, по которой нет книг в таблице Книги. Рассмотрим различные варианты выбора книг по тематикам:

  1. с помощью Конструктора создайте запрос на основе таблиц Книги и Тематика;

  2. в режиме Конструктора запроса дважды щелкните объединение между таблицами, которое следует изменить. На экране появится диалоговое окно Параметры объединения. В этом окне обратите внимание на варианты: параметр 1 соответствует внутреннему объединению, параметр 2 – левое внешнее объединение, параметр 3 – правое внешнее объединение. Установите объединение всех записей из таблицы Тематика и только тех записей из таблицы Книги, в которых связанные поля совпадают;

  3. В Microsoft Access отобразится объединение и стрелка, соединяющая источник данных, все строки которого включаются в объединение, с источником данных, из которого выбираются только строки, удовлетворяющие условию объединения;

  4. нажмите кнопку Запуск на панели инструментов для просмотра результатов запроса. Вы получите таблицу, которая содержит список всех тематик книг, для каждой тематики указаны книги, относящиеся к ней, при этом одна их тематик будет иметь пустое значение;

  5. установите для этой связи внутреннее объединение, просмотрите результат и сравните его с результатом внешнего объединения.