Запросы на выборку

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

1. Простой запрос на выборку предназначен для извлечения данных из одной или нескольких таблиц и отображения их в режиме таблицы.

Бланк простого запроса содержит шесть строк:

o имя поля;

o имя таблицы;

o сортировка;

o вывод на экран (указывает, будет ли поле присутствовать в динамическом наборе данных);

o условие отбора (содержит первое условие, ограничивающее набор данных);

o или (содержит другие условия ограничения данных).
Разработка простого запроса выполняется в несколько этапов:

· выбор таблицы;

· выбор полей (добавление полей в запрос);

· установление критериев отбора;

· задание порядка расположения записей (сортировка).

Пример такого запроса в режиме конструктора приведен выше на Рис 1.1

Запрос, показывающий список студентов по номерам зачетной книжки и Фамилиям групп 661 и 662.

2. Запрос с параметром - это запрос, при выполнении которого в диалоговом окне пользователю выдается приглашение ввести данные, например условие для возвращения записей или значение, которое должно содержаться в поле. На рис. 1.2 изображено окно для ввода параметра - номера группы студента. Можно создать запрос, в результате которого выводится приглашение на ввод нескольких данных, например, двух дат. В результате будут возвращены все записи, находящиеся между двумя указанными датами.

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

Рис. 1.2. Вид диалогового окна для ввода параметра

Чтобы создать запрос с параметром, необходимо в строку «Условия отбора» для заданного поля ввести текст приглашения для ввода данного, заключив его в прямоугольные скобки: [Введите номер группы] (рис. 1.3). Можно задать параметры для нескольких полей или для одного поля определить несколько параметров для отбора, используя запись условия в несколько строк совместно с логической операцией «ИЛИ».

Если в запрос вводятся несколько параметров, то порядок их ввода через диалоговое окно определяется порядком расположения полей с параметром в бланке запроса.

Рис. 1.3. Вид запроса с параметром в режиме конструктора

3. Запрос с итогами позволяет производить выборку данных одновременно с их группировкой и вычислением групповых итогов с использованием различных статистических функций. В Access предусмотрены девять статистических функций:

Sum - сумма значений некоторого поля для группы;
Avg - среднее значение некоторого поля для группы;
Max, Min - максимальное или минимальное значение поля для группы;

Count - число значений поля в группе (пустые значения поля не учитываются);

StDev - среднеквадратическое отклонение от среднего;

Var - дисперсия значений поля в группе;

First, Last - значение поля из первой или последней записи.

Для выполнения групповой операции необходимо в режиме конструктора включить в таблицу описания запроса строку «Групповая операция» (рис. 1.4) и в полях, по которым должно вестись вычисление, заменить слово «группировка» на требуемую статистическую функцию.

Результат запроса с использованием групповых операций содержит по одной записи (строке) для каждой группы, исходные строки групп отсутствуют.

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

2. Групповые операции для некоторых групп записей. Функция «ГРУППИРОВКА» указывается для полей, по которым будут группироваться данные. В полях, по которым будут выполняться вычисления, должны быть выбраны функции, соответствующие вычислениям.

3. Группировка записей, которые соответствуют условию отбора. Для этого необходимо указать условие отбора для поля, где выбрана функция «ГРУППИРОВКА».

4. Вывод только тех результатов, которые удовлетворяют условию отбора. Для этого условие отбора задается для полей, по которым в строке «Групповая операция» выбрана итоговая функция (например, вывести группы, средний балл студентов которых больше 4,5).

Рис. 1.4. Вид запроса на выборку с группировкой

Например: вычислить количество студентов на специальностях (специальности по наименованию)

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

Например: рассчитать количество студентов на специальностях (специальности вывести по наименованию) по возрастам:

Рис. 1.5. Вид перекрестного запроса в режиме конструктора

Перекрестный запрос - это специальный тип группового запроса. Строка «Групповая операция» должна быть включена. В запросе обязательно должны быть установлены как минимум три параметра - поле заголовка строк, поле заголовка столбцов и поле для выбора значений. Поля, используемые в качестве строк и столбцов, должны содержать функцию «ГРУППИРОВКА» в строке «Групповая операция». Для создания запроса необходимо:

• создать новый запрос для таблицы (таблиц), включив в макет нужные поля;

• изменить тип ЗАПРОСА на Перекрестный;

• в строке «Перекрестная таблица» указать, какое поле используется в качестве заголовка строк, какое в качестве заголовков столбцов и какое для выполнения вычислений в соответствии с выбранной групповой операцией;

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

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

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

Для ввода выражения следует создать новое вычисляемое поле непосредственно в бланке запроса.

Наряду с выводом результатов вычислений на экран допускается использование вычисляемых полей:
• для определения условий отбора записей в запросе или для определения записей, над которыми производятся действия;
• для обновления данных в запросе на обновление.

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

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

Выражение - это набор элементов, объединенных операторами. Выражения могут задавать условия отбора в запросах. При этом Access вычисляет выражение при каждом его использовании, то есть при каждом выполнении отбора.

Выражения могут содержать следующие элементы: константы, литералы, функции, имена объектов.

Константы - это величины, которые не могут быть изменены:
Yes, No, Null, False, True.

Литералы - фактические значения, которые вводятся в виде чисел, текстовых строк или дат. Они используются в виде, в котором их ввели. Числовой литерал - это обычное число; текстовый литерал - последовательность символов, заключенных в кавычки; литералы даты
и времени - значения, заключенные в #... #.

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

Формула, помещаемая в вычисляемое поле, всегда начинается со знака равенства (=).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: