Запросы
Цель: Одним из основных инструментов обработки данных в СУБД являются запросы. Запрос – это формализованное требование пользователя на отбор данных или на выполнение действий. Запрос строится на основе одной или нескольких таблиц. При этом могут использоваться таблицы базы данных, а также сохраненные таблицы, полученные в результате других запросов. Запрос позволяет выбрать необходимые данные из одной или нескольких взаимосвязанных таблиц, произвести вычисления и получить результат в виде таблицы. В Access может быть создано несколько видов запроса:
Запрос на выборку – выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса.
Запрос на создание таблицы – основан на запросе выборки, но в отличие от него результат запроса сохраняется в новой таблице.
Запрос на обновление, удаление, добавление – являются запросами действия, в результате выполнения которых изменяются данные в таблицах.
Создание запроса на выборку
1.Рассмотрим технологию создания однотабличного запроса на выборку на примере получения информации из таблицы Товар.
Пусть необходимо получить информацию о товаре с названием Блокнот.
Для создания запроса выберем в меню закладку Создание — Конструктор запросов
В окне Добавление таблицы выберем таблицу Товар и закроем окно Добавление таблицы.
В результате появится окно конструктора запросов. Окно конструктора разделено на две панели. Верхняя панель содержит схему данных запроса, а нижняя панель является бланком запроса по образцу.
Схема данных запроса отображает выбранные таблицы и связи между ними, имеющиеся в схеме данных БД. Бланк запроса по образцу представлен в виде таблицы в нижней панели окна запроса. Каждый столбец бланка относится к одному полю, с которым нужно работать в запросе.
При заполнении бланка необходимо:
- В строку Поле включить имена полей, используемые в запросе
- В строке Вывод на экран отметить поля, которые должны быть включены в результирующую таблицу
- В строке Условие отбора задать условия отбора записей
- В строке Сортировка выбрать порядок сортировки записей результата
Если в запрос включаются все поля таблицы, то в строке Поля ставится знак *.
Заполним бланк запроса по образцу
Закроем Конструктор и сохраним запрос с именем Блокнот.
Выполним сохраненный запрос нажатием кнопки Открыть.В результате имеем таблицу
2.Пусть необходимо получить информацию о всех товарах из таблицы Товар с ценой больше 300р.
Для этого повторим процесс создания запроса в соответствии с предыдущим пунктом, затем заполним бланк запроса по образцу
Закроем Конструктор и сохраним запрос с именем Цена товара.
Выполним сохраненный запрос.В результате имеем таблицу
3.Пусть необходимо выбрать фирмы, названия которых начинаются с буквы «Р» из таблицы Фирмы
Повторим процесс создания запроса в соответствии с предыдущим пунктом, затем заполним бланк запроса по образцу.
В этот раз воспользуемся нажатием на звёздочку, чтобы вывести все поля на экран.
Но необходимо еще добавить условие, поэтому добавляем поле наименование_ф, но убираем галочку «вывод на экран» (чтобы не было двойного вывода), в графе «условие отбора» ставим А*
Закроем Конструктор и сохраним запрос с именем Фирмы на Р. Выполним сохраненный запрос нажатием кнопки Открыть.В результате имеем таблицу
4.Рассмотрим технологию конструирования многотабличного запроса на выборку на примере получения информации из таблиц Заказ_Фирма, Заказ_Товар и Товарбазы данных Учет заказов.
Пусть необходимо получить информацию о товарах, проданных в период с 18.09.2015 до 20.09.2015.
В окне Добавление таблицы выберем таблицы Заказ_Фирма, Заказ_Товар и Товари закроем окно Добавление таблицы. Связи между таблицами установлены автоматически в соответствии со схемой данных базы данных.
Заполним бланк запроса по образцу
Закроем Конструктор и сохраним запрос с именем Товары по дате. Выполним сохраненный запрос нажатием кнопки Открыть.В результате имеем таблицу