
4. Запити
Запит – це набір інструкцій, який можна використовувати для роботи з даними. Запит виконується для виконання цих інструкцій. Окрім повернення результатів, які можна сортувати, групувати або фільтрувати, за допомогою запиту також можна створювати, видаляти, копіювати або змінювати дані.
Запити дозволяють витягувати дані з таблиці. Виконання запиту багато в чому нагадує ставлення питання до таблиці бази даних. Наприклад, які оцінки отримали учні 11-а класу з інформатики за 1семестр? У якого класного керівника учні отримали двійки у семестрі?
На відміну від фільтрів, запити дозволяють витягувати дані відразу з декількох таблиць БД. Крім того, результат роботи запиту зберігається в спеціальному об'єкті БД - запиті.
4.1 Основні види запитів
Вибірка. Це найбільш широко поширений вигляд запитів. Він дозволяє витягувати дані (робити вибірку) з декількох таблиць, створювати нові поля за допомогою розрахунків.
Створення таблиці. Цей запит дозволяє створювати нову таблицю на основі даних з існуючих таблиць.
Запит на оновлення. Вносить глобальні зміни до всіх даних БД.
Запит на додавання. Дозволяє відбирати групи записів з однієї таблиці і вносити їх до кінця іншої таблиці.
Запит на видалення. Видаляє записи з таблиці.
Перехресний запит. Групує записи з декількох таблиць в таблицю з сумарною інформацією. Зазвичай ці запити використовують для порівняння значень.
4.2 Створення простих запитів
Запити можна створювати за допомогою елементів Майстер запитів, Конструктор запиту і Макрос, які розташовані на вкладці Створити у групі Додатково (рис. 4.1). Найбільш зручними і функціональними є перших два.
Рис. 4.1
Спершу створимо запит на основі однієї таблиці Учні. На вкладці Створити у групі Додатково виберемо Майстер запитів. Оберемо майстер із запропонованих чотирьох (рис. 4.2).
Рис. 4.2 Рис. 4.3
У вікні (рис.4.3), що відкрилося, в списку таблиць виберемо Учні. У віконце Вибрані поля перенесемо Прізвище, Ім'я, Клас і Дата_народження. У наступному вікні запишемо ім'я запиту - Запит1 і натиснемо Готово. Відкриється цей запит (рис.4.4).
Рис. 4.4
Він
виглядає як вкорочена таблиця (без полів
№_ученика,
По_батькові,
Адреса
і
Телефон)
і містить всі записи цієї таблиці. Для
того, щоб встановити якісь умови відбору
записів потрібно перейти в конструктор
запиту. Для цього натискуватимемо кнопку
Вигляд
на вкладці Основне
у групі Подання
та виберемо елемент
Конструктора
(рис.4.5).
Рис. 4.5
У верхній частині вікна міститься мініатюра таблиці Учні. Якщо ми будуємо запит по декількох таблицях, то там повинні знаходиться мініатюри цих декількох таблиць.
При цьому з’явиться додаткова вкладка Конструктор (рис. 4.6).
Рис. 4.6
Нижня
частина вікна називається Бланк
запиту.
Тут ми можемо формувати умови відбору
записів. Давайте виведемо відомості
лише про тих учнів, яких звуть Ольга або
Ігор. Для цього в стовпці Ім'я
в
рядку Критерії
напишемо
ім'я Ольга а в рядку Або
-
Ігор. Лапки Access
поставить сам (рис 4.7). Після цього
потрібно натискувати на кнопку Запуск
(
)
на
вкладці Конструктор
у групі Результати.
Отримаємо
результат роботи запиту як на рис.4.8)
Рис. 4.7 Рис. 4.8
Тепер знову прейдем в Конструктор цього запиту і змінимо його. Видалимо імена учнів, а в полі Клас у рядку Умова відбору запишемо [Вкажіть клас] - це у нас фраза пояснення для параметра запиту. Цю фразу необхідно писати в квадратних дужках (рис.4.9) Запустимо запит на виконання. На екрані з'явитися віконце (рис.4.8), в якому потрібно написати клас. Наприклад, 11-а і натискувати ОК. Отримаємо результат роботи запиту (рис.4.9).
Рис. 4.9
І якщо у вас учні були розписані по класах, то з’явиться результат запиту як на рис. 4.10.
Рис. 4.10
Таким чином ми побудували запит з параметром. Якщо ви закриєте його і знов відкриєте на вкладці Запити головного вікна БД, то Access попросить вас ввести параметр запиту. В даному випадку потрібно вказати назву якого-небудь класу, який є у вас в таблиці. Перейменуємо Запит1 в «Учні певного класу». Для цього у вікні переходів клацнемо правою мишкою на піктограмі Запит1 та у контекстному меню виберемо команду Перейменувати.
Тепер ускладнимо завдання і побудуємо запит по декількох таблицях. Створимо запит «Оцінки з інформатики за 1 семестр». На вкладці Створити у групі Додатково вибираємо Конструктор запиту.
Відкриється вікно Конструктора запиту і вікно Відображення таблиці (рис.4.11). У цьому вікні вибираємо таблиці Учні, Предмет і Отримує. Ці таблиці з'являться у верхній частині конструктора запитів. Тепер потрібно перенести в бланк запиту потрібні поля з таблиць. Зробити це можна двома способами.
1 спосіб - просто перетягнути потрібне поле з таблиці в перший рядок стовпця.
2 спосіб - в стовпці бланка запиту в рядку Таблиця вибрати таблицю, потім в рядку Поле вибрати поле з цієї таблиці (мал. 4.12).
Рис. 4.11 Рис. 4.12
У бланк запиту перенесемо такі поля:
Прізвище і Клас з таблиці Учні
Назва з таблиці Предмет
Період і Оцінка з таблиці Отримує.
Тепер в рядок Критерії для стовпця Назва введемо слово Інформатика, а для стовпця Період - 1 семестр. У рядку Сортування для стовпця Прізвище виберемо За зростанням і запустимо запит на виконання. Повинен вийти такий результат (рис.4.13):
Рис. 4.13