2.2 Запросы действия и запросы на языке sql
Таблица 5
Запрос |
Описание |
Команды |
Запрос на создание таблицы |
позволяет сохранить набор данных, вышедших в ответ на запрос, в виде таблицы. |
создаем запрос в режиме Конструктора → добавляем таблицу на основе которой будет построен запрос → на контекстной вкладке Работа с запросами в группе Тип запроса выбираем нужный тип
|
Запрос на обновление |
используется для того, чтобы обновить значения некоторых полей для всех записей, вышедших в ответ на запрос. |
|
Запрос на удаление |
используется для удаления всех записей, вышедших в ответ на запрос. |
|
Запрос на добавление |
используется для добавления данных в имеющуюся таблицу. |
|
Запрос SQL |
это структурированный язык выбора данных из одной или нескольких таблиц |
Рисунок 5. Возможные действия SQL – запросов
Когда пользователь создает запрос в режиме Конструктора запроса, MS Access 2010 автоматически создает эквивалентную инструкцию SQL (рис.5). Фактически, для большинства свойств запроса, доступных в окне свойств в режиме Конструктора, имеются эквивалентные предложения или параметры языка SQL, доступные в режиме SQL (см. рис.6). При необходимости, пользователь имеет возможность просматривать и редактировать инструкции SQL в режиме SQL, что мы и сделали с вами, когда переименовывали поля в итоговом запросе. Есть серия запросов, которых нельзя выполнить в режиме Конструктора, например, запрос на объединение.
Рисунок 6. Пример запроса с параметров в режиме Конструктора и режиме SQL
Запрос SQL довольно сложен для начинающих пользователей и используется обычно опытными пользователями, имеющими навык программирования.
Из-за сложности и специфики коснемся, рассмотрения запроса SELECT на языке SQL, подробно останавливаться на создании запросов на языке SQL не будем.
Например, нам необходимо создать полный список участников ДТП, с указанием свидетелей, если таковые имеются, т.е. необходимо создать запрос, в результате которого должна появиться следующая таблица данных:
Рисунок 7. Пример списка задействованных людей по каждому делу
Упражнения для выполнения
Упражнение 1
Получите навык создания запросов на выборку в режиме Конструктора, ответив на следующие вопросы:
по каким делам проходят машины MERCEDES или FORD?
узнайте номера дел, заведенных по наездам на пешеходов в Центральном районе;
узнайте, по каким делам ранено более 2 и менее 5 человек;
узнайте, по каким делам ранено менее 2 и более 6 человек;
узнайте номера дел, заведенных по ДТП, совершенным на улице Бутина;
узнайте номера дел, по которым ДТП было совершено до 31 декабря 2011;
узнать какими делами занимается тот или иной административный округ;
сколько дел в отделах ГИБДД по каждом административному округу?
узнайте, по каким видам ДТП ведутся дела в каждом отделе ГИБДД;
узнайте, сколько было раненых, погибших и здоровых, а также общее количество пострадавших в результате ДТП;
узнать каково общее количество пострадавших в ДТП по каждому делу;
при помощи справочной системы узнайте, какая есть функция округления;
узнайте возраст каждого участника ДТП;
узнайте номера ДТП, которые были совершены в текущем году;
узнайте какие дела были заведены в некотором админ.округе между двумя некоторыми датами.
Упражнение 2
Получите навык создания запросов на действия в режиме Конструктора, выполнив следующее:
создайте запрос на создание таблицы по полям из запроса №10 Упр.№1. Созданной таблице дайте название «СОЗДАННАЯ ТАБЛИЦА»;
создайте запрос на обновление, который будет обновлять пустые поля «ЧислоРан» и «ЧислоПогиб» в таблице «Общие сведения о ведении дела по ДТП» (значения будут браться из таблицы «СОЗДАННАЯ ТАБЛИЦА»);
создайте запрос на создание таблицы с полями «НомерУчастника», «СтатусУчастика», «НазванКомпан». Созданной таблице дайте название «СОЗДАННАЯ ТАБЛИЦА №2»;
создайте запрос на удаление, который будет удалять записи в таблице «СОЗДАННАЯ ТАБЛИЦА №2», где нет авто страховой компании;
создайте запрос в режиме SQL, благодаря которому появится полный список участников ДТП по каждому делу, с указанием свидетелей (см. рис.7).
Упражнение 3
Продолжите работу по получению навыка и его закреплению при создании запросов на выборку в режиме Конструктора, выполнив следующее:
создайте запрос, благодаря которому вместо полной даты свершения ДТП будет браться только один год (например, если дата 23.12.2011, то возьмется только 2011 год);
узнайте, в каких авто страховых компаниях застрахованы участники ДТП и когда они попали в ДТП (месяц и год);
сколько по каждой авто страховой компании участвовало человек в ДТП в каждом месяце и году;
сколько по каждой авто страховой компании участвовало человек в ДТП в каждом году;
по номеру и серии водительского удостоверения определите фамилию, имя и отчество участника ДТП, а также название страхующей его авто страховой компании.
Упражнение 4
Продолжите работу по получению навыка создания запросов на выборку в режиме Конструктора, согласно своего варианта:
придумайте 6 запросов (с вычисляемыми полями, перекрестные, итоговые и запросы с параметрами) на определенную тематику.
Таблица 6
Вариант |
Тематика |
1 |
о местах свершения ДТП |
2 |
о делах по ДТП |
3 |
об участниках ДТП |
4 |
о ГИБДД |
5 |
об авто участников ДТП |
6 |
о видах ДТП |
7 |
о жертвах ДТП |
8 |
о количестве ДТП |