Запрос, который создается с помощью бланка QBE, будет храниться в компьютере в виде директивы SQL, называемой сообщением. При работе с Access сам язык SQL от нас обычно скрыт. Например, все операции с запросами выполняются с использованием SQL, но при этом мы видим на экране лишь бланк запроса. Сообщения SQL и окно бланка запроса связаны динамически: любое изменение в одном из них автоматически приводит к изменению в другом. Переход од одного режима к другому осуществляется через пункты меню Вид.
При создании большинства запросов знание языка SQL не требуется. Достаточно для этого бланка QBE. Однако, нередко легче внести изменения в режиме SQL непосредственно, чем открывать и редактировать форму отдельного запроса каждый раз при изменении набора данных. Кроме того, когда нужно создавать подчиненные запросы, результаты которых используются в качестве условий сравнения в других запросах, необходимо знание языка SQL.
Cообщение 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. Найти записи с датой заказа в марте месяце.
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 Название=[Введите название кафедры];
1.7. Создание и редактирование форм.