Хелпикс

Главная

Контакты

Случайная статья





II. Запросы. Способы создания запросов в СУБД Access



II. Запросы

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

1) Запрос-выборка предназначен для отбора данных, хранящихся в таблицах и не изменяющий эти данные.

2) Запрос-изменение используется для изменения или перемещения данных. К этому типу относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление.

3) Запрос с параметром позволяет определить одно или несколько условий отбора во время выполнения запроса.

Способы создания запросов в СУБД Access

Ряд запросов строится с использованием мастеров. Возможно создание запросов следующих видов (рис. 3):

§ простой запрос – позволяет выбирать поля из нескольких таблиц или запросов;

§ перекрестный запрос – вычисляет сумму, среднее значение, число элементов и значения других статистических функций, группируя данные и выводя их в компактном виде;

§ повторяющиеся записи – выполняют поиск одинаковых записей по какому-либо полю в таблице;

§ записи без подчиненных – находят все записи, не имеющие соответствующих записей в другой (связанной) таблице.

 

 

Рис. 3. Выбор вида запроса при его создании с помощью мастера

После выбора Конструктора при создании запроса Access предлагается использовать бланк запроса по примеру QBE (рис. 4).

Рис. 4. Бланк запроса QBE при создании запроса в Конструкторе

 

В запросе можно создать вычисляемое поле, в котором будут отображаться результаты вычислений, определенных в выражении. Если выражение содержит имя поля, то это имя необходимо заключить в скобки. Если выражение содержит одну или несколько статистических функций (например, Sum, Avg, Count, Min, Max, StDev, Var ), то необходимо использовать группировку, вызываемую нажатием кнопки Групповые операции  на панели инструментов.

Для формирования условий отбора полезным является использование построителя выражений, который запускается кнопкой панели инструментов или из контекстного меню, связанного со строкой Поле или Условие отбора на бланке запроса QBE (рис. 5).

 

Рис. 5. Построитель выражений в СУБД Access

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

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

1) Выражение имеет всегда логический тип, т. е. его значение должно быть Да или Нет. В бланке запроса опускается часть выражения, содержащая имя поля, потому что оно задано в той же колонке.

2) Существуют определённые требования к синтаксису выражения: имена полей заключаются в квадратные скобки, а символьные константы – в кавычки. Имя объекта БД (таблицы, формы или запроса) отделяется от имени поля восклицательным знаком.

Окно построителя имеет 4 области со своими полосами прокрутки. В верхней области располагается создаваемое выражение. Три нижние используются для выбора элементов. Они заполняются по иерархическому принципу. Левая область содержит список всех источников данных для запроса. Средний список служит для показа элементов, входящих в выбранный объект из левого списка. На рисунке в левом списке указано имя запроса ( Запрос 1 ) и имена таблиц и других объектов базы, а в средней части – имена полей, входящих в этот запрос или таблицу ( Фамилия, Имя, … ). Правый список служит для выбора объектов.

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

Кроме традиционных математических действий существует ещё несколько специальных операторов.

BETWEEN AND заменяет знаки «больше или равно» и «меньше или равно». Например, условие BETWEEN 1985 AND 1989 эквивалентно условию > = 1985 AND < =1989.

Знак « ^ » определяет возведение в степень. Знак « & » используется для сложения данных символьного типа. Для соединения можно использовать и более привычный знак « + ». Например, эквивалентны следующие 3 выражения: «Петров», «Петр»& «ов», «Петр»+ «ов».

Оператор LIKE используется для создания масок при определении строк с неизвестными символами и требует дополнительных специальных символов:

? – обозначает любой одиночный символ;

* – обозначает любую последовательности символов;

# – обозначает символ из определенного набора в квадратных скобках, например, [a-d] – обозначает одну из 4-х букв: a, b, c или d. Восклицательный знак инвертирует смысл выражения, заключенного в квадратные скобки: ! [1-5] исключает цифры от 1 до 5.

Для построения условий отбора также могут использоваться логические операторы: AND, EQV, OR.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.