double arrow

Структурована мова запитів (SQL)


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

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

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

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




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

distinctrow – видаляє дублюючі записи з вибірки;

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

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

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

order by – позначає режим сортування для набору даних (за замовчуванням сортування здійснюється по зростанню, для сортування значень по убуванню необхідно додати слово desc);

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

; -символ, що закінчує будь-яке SQL повідомлення.

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

Для ілюстрації синтаксису мови SQL скористаємося таблицею "Продажи”.

Приклад 1. Записати повідомлення SQL, для заповнення поля “Стоимость”, значення якого обчислюється за формулою: Стоимость = Продано * Цена_Ед

Select distinctrow Продажи.Продано, Продажи.Цена_ед,

[Продано]*[Цена_ед] as Стоимость

from Продажи;

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

select *

from Продажи

where month(Дата_заказа) = 3;

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



select *

from Продажи

where month(Дата_заказа) = 3

order by Код_покупця;

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

select distinctrow.Код_покупателя,

sum([Продано]*[Цена_ед]) as Стоимость

from Продажи

group by Код_покупателя;

Приклад 5. Вибрати записи з датою замовлення 31 березня 2006.

select *

from Продажи

where Дата_заказа = #3/31/06#;

Приклад 6.Запит з параметром на вибірку за назвою кафедри.

select *

from Кафедра

where Название=[Введите название кафедры];