Запит, що створюється за допомогою бланка 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 Название=[Введите название кафедры];