СУБД Access Запросы Автор: Тутыгин В.С.
Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких таблиц; В запросе можно создать вычисляемые поля, которых нет в таблицах, указать условия сортировки и отбора записей; На основе запроса можно производить не только выборку, но удаление и обновление записей;
Средства создания запросов Запрос может быть создан: С помощью Мастера (Wizard); В режиме Конструктор (Design View); Средствами языка SQL
Создание запроса с помощью Мастера [Queries] – [Create query by using master]
Создание запроса в режиме Конструктор (Design View) [Queries] – [Create query in Design view]
Создание запроса средствами языка SQL 1. [Queries] – [Create query in Design view] – [Close] 2. [View] – [SQL view]
Структура БД «Обучение»
Основные виды запросов На выборку данных; На обновление, добавление и удаление записей; Запросы с вычисляемыми полями; Запросы с параметром; Запросы с использованием групповых операций
Запрос на выборку данных (Select Query) Запрос на выборку данных предназначен для извлечения из одной или нескольких таблиц БД связанных записей, т.е. записей, относящихся к одному и тому же информационному объекту (студенту, сотруднику, товару и т.д.).
Пример запроса на выборку из одной таблицы
Результат работы запроса
Пример запроса на выборку из двух таблиц Запрос на выборку в БД «Обучение», содержащей таблицы СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ, может включать данные из двух таблиц: СТУДЕНТ и СЕССИЯ. На основе этого запроса мы получим таблицу, содержащую список всех студентов с указанием полученных ими оценок.
Запрос на выборку из двух таблиц
Результат работы запроса на выборку из двух таблиц
Запрос на обновление (Update Query) Запрос на обновление записей в БД может быть использован, например, для автоматического изменения номера группы у всех студентов одной группы. Запрос на обновление создается на основе запроса на выборку.
Пример создания запроса на обновление Задача – изменить с помощью запроса номер группы с 111 на 211. Шаг 1. Создаем запрос на выборку группы 111 из таблицы Студент.
Результат выполнения запроса на выборку
Пример создания запроса на обновление. Шаг 2. Преобразование запроса на выборку в запрос на обновление: а) [Query] – [Update Query] ; б) в поле Update To внести новый номер группы - 211
После исполнения запроса в таблице Студент у всех студентов с номером группы 111, номер 111 будет заменен на 211.
Запрос на добавление (Append Query) Запрос на добавление записей в БД используется для присоединения записей из одной таблицы к записям другой. Объединяемые таблицы должны иметь одинаковые поля и одинаковые типы данных.
Пример создания запроса на добавление Задача – добавить записи из таблицы Абитуриент к записям таблицы Студент. Шаг 1. Создаем запрос на выборку из таблицы Абитуриент. Шаг 2. Преобразуем запрос на выборку в запрос на добавление: [Query] - [Append Query] – {Выбираем из списка таблицу Студент} – [Ok] Шаг 3. Запускаем запрос на исполнение: [Query] - [Run]
Запрос на удаление (Delete Query) Запрос на удаление записей в БД используется для удаления из одной таблицы группы записей, имеющих некоторый общий признак. Пример : запрос на удаление записей по признаку – номер группы 333,-в таблице Студент.
Пример создания запроса на удаление Задача – удалить записи о студентах гр 333 из таблицы Студент_2. Шаг 1. Создаем запрос на выборку из таблицы Студент. Указываем условие отбора записей: группа 333 Шаг 2. Преобразуем запрос на выборку в запрос на удаление: [Query] - [Delete Query] – {Выбираем из списка таблицу Студент} – [Ok] Шаг 3. Запускаем запрос на исполнение: [Query] - [Run]
Запрос с вычисляемыми полями В запросе на выборку к таблицам СТУДЕНТ и СЕССИЯ, включающей сведения об оценках студентов, можно создать вычисляемое поле СРЕДНИЙ БАЛЛ
Запрос с параметром Запрос с параметром может быть использован для выборки данных из таблиц БД по критерию, задаваемому пользователем в диалоговом окне при запуске запроса. Например, в БД «Обучение» по запросу с параметром группы можно получать данные о студентах одной выбранной группы.
Запрос с параметром может быть создан в режиме Конструктор на основе данных, имеющихся не только в таблице, но и в запросе Источник данных для запроса с параметром
При запуске такого запроса на исполнение вначале будет запрашиваться номер группы
В результате выполнения запроса с параметром будет выведен список студентов с указанием полученного ими среднего балла
Запрос с использованием групповых операций Групповые операции позволяют выделить группы записей с одинаковыми значениями в указанных полях и использовать для других полей этих групп какую-либо статистическую функцию обработки из числа предусмотренных в Access, а именно: Sum - сумма, Avg - среднее значение, Max, Min, Count - число значений поля в группе без учета пустых, StDev - с.к.о. от среднего, Var - дисперсия значений поля в группе, First - значение поля из первой записи, Last - …из последней.
Порядок создания запроса с групповыми операциями 1. Создать запрос на выборку; 2. [View] – [Totals]; 3. Выбрать из списка в одном из полей, по которому производится группировка Group By; 4. В остальных полях выбрать функцию обработки (Sum, Avg, Max, Min и т.д.).
Пример запроса с использованием групповых операций Запрос с использованием групповых операций можно, например, использовать в БД «Обучение» для вычисления среднего балла по всем предметам по каждой группе в отдельности.
Запросы на языке SQL SQL (Structured Query Language) является стандартом языков запросов для работы с реляционными базами данных.
Функции SQL Выборку данных из таблиц; Ввод данных в таблицы; Удаление записей в таблицах; Обновление (замену) значений полей записи в таблицах. Создание реляционных таблиц; Изменение структуры таблиц; Удаление таблиц; Соединение таблиц.
Пример запроса на SQL Пример 1. Запрос на выборку полей: Группа, Фамилия, Имя - таблицы СТУДЕНТ. SELECT СТУДЕНТ.Группа,Фамилия,Имя FROM СТУДЕНТ;
Создание запроса на SQL Запрос на SQL создается в окне, вызываемом в режиме «Design View» из меню View/SQL view
Примеры запросов на SQL Пример 2. Запрос на выборку полей: Группа, Фамилия, Имя, Отчество - таблицы СТУДЕНТ. В результирующей виртуальной таблице, создаваемой в результате выполнения запроса, предусмотрено создание всего двух полей: Группа и ФИО. В поле ФИО вводятся фамилия, имя и отчество, разделенные пробелами. SELECT СТУДЕНТ.Группа,Фамилия&" "&Имя&" "&Отчество AS ФИО FROM СТУДЕНТ; Запрос на SQL_2
Примеры запросов на SQL Пример 3. Запрос на обновление значений "111" на "311" поля "Группа" таблицы СТУДЕНТ. Запрос на SQL_3