Запросы

Запрос – производный от таблиц объект БД, с помощью которого производится отбор информации; это механизм выборки, обновления, удаления и добавления данных, создания новых таблиц на основании данных одной таблицы или нескольких существующих таблиц.

Зачем нужны запросы?

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

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

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

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

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

- Использовать запрос в качестве источника данных для форм, отчетов и других запросов.

- Изменять табличные данные.

По способу создания различают 2 типа запросов: запросы по образцу (QBE - queries by example) и структурированный язык запросов (SQL - Structured Query Language -).

Запрос по образцу (QBE) – это средство отыскания необходимой информации в БД обычно путем занесения данных в таблицу. Система запроса по образцу выводит данные, имеющие отношение к вводимым. Запрос формируется не на специальном языке, а путем заполнения бланка запроса в окне Конструктора запросов. Указываются критерии выборки записей в исходной таблице. С точки зрения пользователя, конструирование запроса – это просто пометка нужных элементов в окне Конструктора запросов.

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

Однако все запросы Access строит на основе соответствующего SQL-запроса. Когда пользователь создает запрос в режиме конструктора запроса, Microsoft Access автоматически создает эквивалентную инструкцию SQL. Пользователь имеет возможность просматривать и изменять инструкции SQL в режиме SQL.Чтобы просмотреть его, необходимо в активном окне проектирования запроса дать команду Вид→SQL.

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

Для решения этой задачи необходимо создать запрос, объединяющий данные из различных таблиц.

Различают запросы выборки и запросы-изменения. Существует 4 типа запросов-изменений:

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

Запрос на удаление записей Удаляет записи из одной или нескольких таблиц.

Запрос на добавление записей Добавляет группу записей из одной или нескольких таблиц в одну или несколько других таблиц.

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

Запросы-выборки.