Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
doc6.doc
Скачиваний:
8
Добавлен:
10.02.2016
Размер:
331.26 Кб
Скачать

2.2.2. Багатотабличні запити

Всі можливості запитів, заснованих на одній таблиці, можна застосувати й при об'єднанні даних з декількох зв'язаних таблиць. Зв'язок між базовими таблицями можна задати за допомогою первинних ключів, або командами Сервис→ Схема данных. Всі інші дії при створенні запитів точно такі ж, як і розглянуті раніше.

2.3. Структурована мова запиту (sql)

Запит, що створюється за допомогою бланка QBE, буде зберігатися у комп'ютері у вигляді директиви SQL, яку називають повідомленням. При роботі з Access сама мова SQL від нас звичайно схована. Наприклад, всі операції із запитами виконуються з використанням SQL, але при цьому ми бачимо на екрані лише бланк форми запиту. Повідомлення SQL і вікна бланка запиту зв'язані динамічно: будь-яка зміна в одному з них автоматично приводить до зміни в іншому.

При створенні більшості запитів знання мови SQL не потрібно й досить бланка QBЕ, однак, нерідко легше внести зміни в режимі SQL безпосередньо, чим відкривати й редагувати форму окремого запиту щораз при зміні набору даних, крім того, коли потрібно створювати підлеглі запити, результати яких використовуються як умови порівняння в інших запитах, необхідне знання мови SQL.

Повідомлення SQL складається із ключових слів, а також ідентифікаторів і виразів Access. Найбільш важливі ключові слова SQL:

select - перше слово всіх повідомлень SQL, за допомогою якого проводиться пошук даних в одній або декількох таблицях у базі даних. За ключовим полем select слідують імена всіх полів, які включаються у вибірку. Використовуючи знак * після select, можна автоматично включити в запит всі поля вихідної таблиці;

distinct - виключає повторювані значення з поля в наборі записів, які знайдені за допомогою SQL;

distinctrow - видаляє запис із вибірки тільки при дублюванні всього запису цілком;

from – вказує, яка таблиця містить потрібні нам поля;

join - визначає зв'язок між записами, що знаходяться в різних таблицях;

where - визначає умову вибору, яка повинна використовуватися при виборі записів для включення їх у вибірку;

order by - визначає режим сортування для набору даних;

group by - позначає, що буде повернутий один запис для кожного окремого значення в зазначеному полі. Якщо group by включається в select, список вибору повинен включати функції avg, count, sum й ін.

При введенні умов вибору записів можна використати знаки відношення, логічні операції and й or, оператори: between, in, like.

Для ілюстрації синтаксису мови SQL скористаємося таблицею «Продажі». Приклад1. Записати повідомлення SQL , для заповнення поля «Вартість», значення якого обчислюється по формулі: Вартість = Продано * Ціна_од

select distinctrow Продажі. Продано,

Продажі. Ціна_од.

[Продано]* [Ціна_од] as Вартість

from Продажі;

Приклад 2. Знайти записи з датою замовлення раніше 30 березня 1997р.

select *

from Продажі

where Продажі. Дата_замовлення < #3/30/97#;

Приклад 3. Записи таблиці, отримані в прикладі 2, розташувати по зростанню коду покупця.

select *

from Продажі

where Продажі. Дата_замовлення < #3/30/97#

order by Продажі. Код_покупця;

Приклад 4. Підрахувати вартість товарів, зроблених кожним покупцем.

select distinctrow Продажі. Код_покупця,

sum ([Продано]* [Ціна_од]) as Вартість

from Продажі

group by Продажі. Код_покупця;

У результаті буде сформована таблиця, де для кожного покупця буде підведений підсумок за вартістю покупок.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]