Запросы ACCESS могут создаваться с помощью специального языка программирования – языка структурированных запросов (SQL).
Основной конструкцией языка SQL является предложение.
Каждый тип запросов имеет свои предложения.
Предложения записываются одно под другим. В конце последнего предложения ставится точка с запятой.
Предложения для запросов на выборку и на выборку с группировкой.
1. Первое предложение Select (Отбор) указывает, какие поля таблиц выбираются и в каком порядке отображаются.Оно имеет следующую структуру:
Select ИТ.ИП,..., ИТ.ИП, ВЫР AS ИВП,.., ВЫР AS ИВП
ИТ – имя таблицы;
ИП – имя поля в таблице;
ВЫР – выражение;
ИВП – имя вычисляемого поля;
AS – ключевое слово, с помощью которого выражению присваивается имя вычисляемого поля.
Имя поля (ИП) отделяется от имени таблицы (ИТ) точкой.
Если база данных однотабличная или имена полей в нескольких таблицах базы не повторяются, то имя таблицы в предложении Select можно не указывать.
2. Второе предложение From (Из) содержит список имен таблиц (запросов), из которых выбираются поля в запрос. Оно имеет структуру:
From <Список имен таблиц с указанием связей между ними>
Если база однотабличная и имя таблицы tab1, то предложение From будет иметь вид:
From tab1
Если база состоит из двух таблиц с именами tab1, tab2 и таблицы связаны по принципу один-ко-многим, то предложение From будет записано следующим образом
From tab1 inner join tab2 on tab1.kp = tab2.ps
В этом предложении слова inner join («внутренняя связь») указывает тип связи, kp - имя ключевого поля, а ps – имя поля связи.
Предложения (команды) Select и From являются обязательными для запросов на выборку и на выборку с группировкой.
Ниже рассматриваются необязательные предложения для запросов на выборку и на выборку с группировкой.
3. Предложение Where (Где) задает совокупность условий (критерий) отбора записей в запрос. Структура предложения:
Where <Условия (критерий) отбора записей>
Если предложение Where используется в запросе, то оно должно быть записано после предложения From.
4. Предложение Order By (Порядок по…) указывает поля, по которым делается сортировка записей в запросе, а также задает порядок сортировки. Структура предложения:
Order By <Список имен полей сортировки>
Имена полей разделяются запятыми. Порядок записи имен полей в списке определяет порядок сортировки.
5. Предложение Group By (Группировка по…) указывает поля, по которым осуществляется группировка записей, а также задает порядок группировки. Структура предложения:
Group By <Список имен полей группировки>
Порядок записи имен полей в списке определяет порядок группировки.
6. Предложение Having определяет условия отбора записей в группы.