
- •Создание базы данных на примере реляционных субд, в программной среде Microsoft Access
- •Определение ключа таблицы
- •Свойства полей
- •Связывание таблиц
- •Просмотр связанных таблиц
- •Создание запросов в программной среде Microsoft Access
- •Создание вычисляемых полей в запросе
- •Перекрестные запросы
- •Запрос с параметрами
- •Работа с фильтрами
- •Предложение select
- •Предложение from
Предложение from
В предложении FROM задаются таблицы, участвующие в запросе. Имена таблиц могут быть перечислены через запятую. Тогда условие соединения таблиц будет задано в предложении WHERE либо в самом предложении FROM. Операции соединения:
INNER JOIN тип соединения, при котором каждая строка первой таблицы по заданному условию сравнивается с каждой строкой второй таблицы, если условие выполняется, то строки сцепляются, образуя очередную строку в результирующем соотношении.
LEFT JOIN и RIGHT JOIN типы внешнего соединения, используются редко.
Операция JOIN выглядит следующим образом:
FROM таблица 1 INNER| LEFT | RIGHT JOIN таблица 2 ON таблица 1. поле1=таблица2.поле2.
Поля связи должны иметь соответствующие друг другу тип данных и длину. Имена полей связи могут различаться, но желательно при проектировании БД давать одинаковые имена полям, имеющим одинаковое смысловое значение. Операции JOIN могут быть вложенными.
Предложение WHERE
В предложении WHERE указывается условие отбора. При задании условий отбора используются определенные ограничители, зависящие от типа поля.
Предложение WHERE может содержать до 40 выражений, связанных логическими операторами.
Например, запрос сведений о клиентах, получивших страховые выплаты в диапазоне от 15 000 до 25 000.
SELECT клиент, страховая выплата
FROM Клиент
WHERE страховая выплата Between 15000 And 25000
Операторы сравнения используются точно такие же, как и при создании запроса в бланке.
Предложение GROUP BY
Предложение GROUP BY позволяет группировать записи по одному полю или совокупности полей, указанных в этой фразе. Порядок следования полей в списке имеет значение.
Обычно GROUP BY используется вместе со статистическими функциями, позволяющими проводить вычисления для сформированных групп.
Например, для определения числа клиентов, получивших различные страховые выплаты, составляется запрос вида:
SELECT страховая история, Count (Фамилия) AS [число клиентов]
FROM Клиент
GROUP BY [страховая история]
Предложение HAVING
В оператор SELECT, содержащий предложение GROUP BY, могут быть включены, как предложение WHERE, так и HAVING. Предложение WHERE используется для исключения записей из группировки, а HAVING – для применения фильтра к записям после группировки.
Предложение HAVING имеет синтаксис:
HAVING[условиеГруппировки]
Например, отобрать число клиентов с количеством страховых случаев более 3.
SELECT страховая история, Count (Фамилия) AS [число клиентов]
FROM Клиент
GROUP BY [страховая история]
HAVING Count (Фамилия) > 3
Предложение ORDER BY
Предложение ORDER BY используется для сортировки записей, полученных в результате запроса.
Корректирующие операторы
Добавление
Для добавления записи в запрос используется оператор INSERT.
Обновление
Запрос на обновление изменяет значения некоторых полей на основе заданного условия отбора:
UPDATE таблица
SET новоеЗначение
WHERE условиеОтбора
Удаление записей
Для выполнения запроса на удаление записей используется инструкция DELETE, имеющая синтаксис
DELETE [таблица.*]
FROM таблица
WHERE условиеОтбора