2.5 Групові розрахунки в запитах
Одним з широко поширених методів аналізу табличних даних є використання наступних підсумкових функцій для полів з числовими даними:
Sum — обчислення суми значень поля;
Avg — визначення середнього значення поля;
Min — знаходження мінімального значення поля;
Мах — знаходження максимального значення поля;
Count — підрахунок кількості записів поля (може застосовуватися для всіх полів);
StDav — розрахунок стандартного відхилення поля;
Var — розрахунок зміни значень поля.
Виконання групових операцій
Стовпець підсумків може містити підсумкові дані для всіх записів таблиці або згрупованих за яким-небудь принципом. Наприклад, нас може цікавити максимальна або середня ціна товарів (поле Ціна) кожного типа (поле Тип), представлених в таблиці. Для використання підсумкових операторів необхідно:
у запитальній формі в рядку Вивод на экран поставте прапорці в полях які використовуватиметься для обчислень;
натисніть на кнопку
із групи елементів керування «Показать
или скрыть»;
встановите курсор в полі, над значеннями якого виконуватимуться обчислення, і виберіть у рядку Груповая операция необхідну функцію;
Натисніть на кнопку «Выпольнить» із групи елементів керування «Результаты».
За допомогою запиту можуть бути підраховані сума (Sum) і середнє арифметичне, знайдені мінімальне (Min) і максимальне (Мах) значення в полі. Закінчивши роботу із запитом, можна зберегти його під яким-небудь ім'ям.
Використання обчислюваного поля
Такий запит дозволяє отримати додаткову інформацію в процесі вибірки.
Можна задати обчислення над любими полями таблиці і отримати результат у новому полі. Для того, щоб створити обчислювальне поле в рядок “Поле” пустого стовпця у бланкук конструктора запиту заносять вираз для обчислення по наступному формату :
<назва обчислювального поля>: <вираз>
у виразі можна використовувати арифметичні дії, круглі дужки та назви полів у квадратних дужках. Для створення виразів у обчислювальних полях можна використати будівельник виразів.
Будівник виразів
Для відображення вікна будівника виразів (мал. 2.4)виконаєте наступні дії:
перейдіть в режим конструктора запиту;
Натисніть на кнопку
у групі елементів керування «Настройка
запроса».
Рисунок.
2.4 - Будівник
виразів
У верхній частині діалогового вікна будівника виразів розташовано поле, яке відображає вираз. Access часто поміщає в це поле прототипи, у подвійних лапках, замість яких користувач повинен підставити потрібні елементи. Слід або ввести відповідне значення, або виділити прототип, і замінити його на елемент з правого списку. У середній частині вікна будівника знаходиться розділи, призначений для створення елементів у виразах. Там розташовані кнопки з часто використовуваними операторами. При натисканні на одну з цих кнопок будівник вставить відповідний оператор в поточну позицію поля виразів. Наприклад, ви можете натискувати кнопку Like аби не вводити це слово з клавіатури. У нижній частині вікна будівника знаходяться три поля. У лівому полі містяться таблиці, запити, форми, об'єкти бази даних,, вбудовані і визначені користувачем функції, константи, оператори і загальні вирази. У середньому полі задаються певні елементи або типи елементів. У правому полі виводиться список значень (якщо вони існують) для елементів, Наприклад, якщо вибрати в лівому полі Встроенные функции, то в середньому полі з'явиться список всіх типів функцій Microsoft Access, в правому полі буде виведений список всіх вбудованих функцій, заданих лівим і середніми полями. Для повернення в бланк запиту натискуйте кнопку ОК, Побудований вираз буде вставлено в те поле, де розташований курсор. Імена полів при введенні в бланк запиту слід брати в квадратні дужки
2.6 SQL – запити
SQL(Structured Query Language – структурована мова запитів) – це стандартна мова програмування, яка має свої корені у 70-х роках минулого століття, коли фірма IBM створювала програмне забезпечення для роботи з реляційними базами даних. Сьогодні існує міжнародний стандарт мови SQL, якого дотримуються розробники програмного забезпечення з обробки реляційних баз даних. У MS Access вбудовано деякий діалект мови SQL, який використовується в таких діях, як побудова запитів на вибірку, підсумовуючих запитів, перехресних запитів, запитів на побудову таблиць, запитів на оновлення, додавання або видалення записів таблиці. Мову SQL MS Access використовує при роботі з базою даних, в тому числі неявно, коли користувач діє в рамках звичайного запиту – кожний запит, незалежно від того, як він створювався, зберігається у вигляді інструкції SQL. Необхідність використання мови SQL виникає в різних випадках. Наприклад, коли є необхідність побудувати так званий підлеглий запит, результати якого використовуються в якості умов в інших запитах. Синтаксис діалекту MS SQL необхідно знати, щоб безпосередньо на цій мові виконувати ті чи інші SQL–запити. Для початку цікаво познайомитись, як в термінах SQL зберігається будь-який запит. Для цього необхідно лише скористатись кнопкою «Вид» і вибрати Режим SQL.
Ядром мови SQL є інструкція SELECT, яка використовується для відбору полів і записів таблиць бази даних. Синтаксис інструкції SELECT використовує пять основних речень і його можна представити в наступному вигляді:
SELECT <список полів>
FROM <список таблиць>
[WHERE <специфікація вибору записів>]
[GROUP BY <специфікація групування]
[HAVING <специфікація вибору груп]
[ORDER BY <специфікація сортування]
Тут речення FROM визначає таблиці або запити, які є джерелом даних для запиту, що створюється. Речення WHERE та HAVING визначають умови відбору записів і груп записів відповідно. Речення GROUP BY визначає поле (поля) для подальшого формування запиту відносно груп даних з однаковими значеннями цього поля (полів). Речення ORDER BY визначає сортування записів. Крім цих речень в кожному діалекті мови SQL можуть зустрітись інші речення стандарту SQL. У MS Access реалізовані чотири з них:
TRANSFORM – для побудови перехресного запиту;
IN – для звязку з віддаленою базою даних;
DISTINCTROW – для відбору унікальних записів;
WITH OWNERACCESS OPTION – для побудови запиту користувачами, що не мають прав доступа до відповідних таблиць цього запиту.
Приклад Простого SQL запиту на об’єднання:
SELECT [Сума] as [залишок сумарний] from [доходи]
UNION ALL select [ціна]*(-1) from [витрати];
