Запити — це спеціальні об’єкти, призначені для вибірки даних з таблиць бази, а також для виконання обчислень та інших операцій з базовими таблицями, включаючи їхнє перетворення.
Запит зберігає опис правила, за яким із бази можна отримати певні дані. При відкритті запиту відбувається пошук даних у таблицях згідно з цим правилом. Результати пошуку виводяться у вигляді таблиці. Однак, на відміну від реальної таблиці, цей набір записів реально не існує в базі даних. Під час кожного нового виконання запиту формуються необхідні дані з тих таблиць, на основі яких його створено.
Запити на вибірку
Запит на вибірку — це засіб відбору даних, що зберігаються в різних таблицях, за заданими умовами.
Запити на вибірку використовуються для відбору потрібної користувачеві інформації, що міститься в таблицях. Якщо вибірка даних здійснюється з кількох таблиць, мають бути встановлені зв’язки між полями цих таблиць. За допомогою таких зв’язків і реалізуються запити, звернені відразу до декількох таблиць бази даних.
Алгоритм створення запиту на вибірку даних
- Виконати Створити → Конструктор запитів.
- У вікні Відображення таблиці послідовно вибрати таблиці і ввести їх у запит натисканням кнопки Додати. У верхній частині вікна Конструктора запитів відобразиться Схема даних запиту.
- Заповнити Бланк запиту (нижня частина вікна Конструктора запитів): у запису Поле слід увести назви полів, які повинна мати підсумкова таблиця.
- Натиснути кнопку Запуск .
- Зберегти запит.
Приклад:
Створимо запит про годування тварин за даними таблиць бази даних «Зоопарк».
- Виконаємо Створення → Конструктор запитів.
- У вікні Відображення таблиці по черзі вибираємо таблиці і натискаємо кнопку Додати (рис.1).
Рис.1
- У верхній частині вікна Конструктора запитів відобразиться Схема даних запиту (рис.2):
Рис.2
У нижній частині вікна Конструктора запитів розташований Бланк запитів.
Додаємо до запису Поле назви полів запиту: по черзі у стопцях відкриваємо кнопкою списки назв полів таблиць БД і вибираємо поля, які повинна мати підсумкова таблиця (рис.3).
Рис.3
Для вилучення поля його достатньо виділити (клацнути над ним після появи стрілки ) і натиснути клавішу Delete.
Для запуску запиту, тобто його відкриття в режимі таблиці, потрібно натиснути кнопку Запуск або перевести запит у Подання таблиці натисканням кнопки Вигляд . Ми створили запит за даними усіх таблиць БД «Зоопарк» (рис.4):
Рис.4
Для збереження запиту відкриємо контекстне меню на ярлику вкладки Запит1 і виберемо Зберегти як. У вікні Зберегти як (рис.5) задамо ім'я запиту, наприклад, «Годування», і натиснемо кнопку ОК.
Рис.5
Після виконання цих дій назва запиту з'являється в Області переходів (рис.6):
Рис.6
Зверни увагу!
Запит сформовано із використанням даних із трьох зв’язаних таблиць.
У запитах на вибірку можна задавати умови. Для цього у відповідному стовпці потрібно вказати в рядку Критерій умову відбору. При завданні умови відбору можна використовувати оператори >, <, =, >= (більше або дорівнює),<= (менше або дорівнює), <> (не дорівнює).
Якщо потрібно задати кілька умов, то умови для оператора І записуються в одному рядку, а для оператора АБО в одному стовпці один під одним. Складні умови відбору також можна писати в одну клітинку, використовуючи оператори Or, And.
Оператор LIKE (Схоже на) дозволяє робити відбір по фрагменту рядка.
Приклад:
Якщо при створенні запиту Годування в рядку Критерій у стовпці Ряд записати Хижі, то в запиті будуть відображатися лише записи, у яких значення поля Ряд дорівнює «Хижі».
Дещо складніше задати умову відбору за значенням поля, яке має тип Поле підстановки. В такому випадку слід:
- до бланку запиту додати поле з таблиці, з якої беруться дані для підстановки в поле, за значеннями якого створюється вибірка;
- зняти для цього поля прапорець Відображення;
- в рядку Критерій цього поля записати умову відбору.
Приклад:
Нехай у нас є заповнена база даних «Успішність», що складається з трьох зв'язаних таблиць:
Рис.7
Створимо запит, який містить прізвища учнів, що мають оцінки з алгебри не нижчі за 9. Сформуємо бланк запиту таким чином (рис.8):
Рис.8
Створюємо в бланку запиту поля Прізвище з таблиці Учні, Предмет і Оцінка з таблиці Оцінки.
При створенні полів таблиці Оцінки поле Предмет пов'язано з полем КодПредмета таблиці Предмети, і значення вибираються зі списку значень поля НазваПредмета. Тому в бланку запиту додаємо поле НазваПредмета з таблиці Предмети. В цьому стовпці знімаємо прапорець в рядку Відображення, в рядку Критерій пишемо Алгебра (пишемо рядок без лапок: Access автоматично додасть лапки, щоб показати, до якого типу належить дана умова відбору).
В стовпці Оцінка задамо критерій > 8.
Після натискання кнопки Запуск переглядаємо створений запит (рис.9):
Рис.9
Запит із параметрами
Можна створити запит, задавши додаткові умови відбору даних за параметром, що буде задавати користувач при відкритті запиту.
Запит з параметрами — це засіб відбору даних з таблиць БД, який дозволяє користувачеві самому ввести критерій відбору на етапі запуску запиту.
Приклад:
Щоб додати параметр до запиту Годування, слід виконати дії:
- відкрити наявний запит у режимі Конструктора;
- у Бланк запиту в потрібному полі в записі Критерії ввести текст у квадратних дужках;
Рис.10
- відкрити запит, натиснувши кнопку Запуск;
- у діалоговому вікні увести значення параметра і натиснути кнопку ОК (рис.11).
Рис.11
Підсумкова таблиця міститиме записи, які відповідають заданим параметрам:
Рис.12
Зверни увагу!
Умови відбору можна встановлювати за маскою, кількома полями (наприклад, НазваТварини та Ряд) або логічною операцією Або.