- •Содержание
- •Тема 1:простые запросы...........................................................................................................................
- •Тема 2: выражения в запросах.
- •Введение.
- •Лабораторная работа № 1. Простые запросы
- •Соглашение при описании синтаксиса sql
- •Синтаксис инструкции select в microsoft access
- •Решение (Второй способ)
- •Решение
- •Создание простых запросов задание 1.
- •Решение (Первый способ)
- •Исключение дубликатов строк
- •Решение
- •Решение
- •Предложение order by
- •Решение
- •Решение
- •Выбор строк (предложение where)
- •Сравнение
- •Решение
- •Диапазон
- •Решение
- •Решение
- •Решение
- •Решение
- •Итоговая функция: avg
- •Решение
- •Итоговая фунуция: count
- •Итоговая функция: sum
- •Решение
- •Итоговая функция: var, varp
- •Предложение having
- •Решение
- •Лабораторная работа № 2. Выражения в запросах.
- •Типы данных sql
- •(Национальные символы)
- •Bit (битовый)
- •Exact numeric (точный цифровой)
- •Approximate numeric (приблизительный цифровой)
- •Datetame (дата/время)
- •Interval (интервал)
- •Типы выражений
- •Задание 2.
- •Решение
- •Ввод параметров
- •Решение
- •Изменение базы данных с помощью запросов.
- •Инструкция delete (запрос на удаление)
- •Решение
- •Инструкция insert (запрос на добавление)
- •Решение
- •Инструкция select ... Into (запрос на создание таблицы)
- •Решение
- •Инструкция update (запрос на обновление)
- •Многотабличные ворпосы.
- •Список литературы
Многотабличные ворпосы.
Обширные возможности SQL во многом базируются на его способности объединять информацию из нескольких таблиц или запросов и представлять результат в виде одного логического набора записей. В большинстве случаев Microsoft Access позволяет обновлять набор записей запроса на объединение, как если бы это была отдельная базовая таблица.
Для задания типа объединения таблиц в логический набор записей, из которого будет выбираться необходимая вам информация, используйте в предложении FROM операцию JOIN. Вы можете попросить Access включить в логический набор записей только соответствующие строки обеих таблиц (эта операция называется INNER JOIN — внутреннее объединение) или включить все строки одной из двух заданных таблиц даже в том случае, когда соответствующая ей строка не найдена во второй таблице (эта операция называется OUTER JOIN — внешнее объединение). Можно использовать вложенные операции JOIN, например объединяя третью таблицу с результатом объединения двух других таблиц.
Для каждой таблицы и запроса при желании можно определить альтернативное имя (псевдоним). Псевдоним используется при задании имен столбцов в списке выбора, предложении WHERE или подчиненных предложениях вместо полного имени таблицы. При объединении таблицы или запроса с самим собой для указания копии таблицы или запроса, на которую вы ссылаетесь в списке выбора, условиях объединения или условиях отбора, псевдоним использовать необходимо. Если имя таблицы или имя запроса совпадает с зарезервированным словом языка SQL (например, Order), заключите его в квадратные скобки.
Используйте операцию INNER JOIN, если хотите получить все строки из обеих таблиц, удовлетворяющие условию объединения. Операция LEFT JOIN возвращает все строки из первой таблицы, объединенные с теми строками из второй, для которых выполняется условие объединения. Если во второй таблице нет таких строк, то Access возвращает значения Null в качестве значений столбцов второй таблицы. Аналогично, операция RIGHT JOIN возвращает все строки из второй таблицы, объединенные с теми строками из первой таблицы, для которых выполняется условие объединения.
Если в условии объединения используется только оператор равно (=), то результат называется объединением по равенству. В бланке запроса можно задать только объединение по равенству. Запрос на основе объединения таблиц по неравенству (<,>,<>, <= или >=) можно создать только в режиме SQL. Объединение таблицы с самой собой по равенству называется самообъедипением.
Пример № 25. Используя таблицы ВКЛАДЫ и ДОГОВОР, создайте запрос. Проверьте результат выполнения (Таблица, содержащая ключевое поле, считается ЛЕВОЙ таблицей и называется таблица-запрос.)
SELECT Договор.ЛицСчет, Договор.КодВклада, Вклады.ИмяВклада
FROM Вклады RIGHT JOIN Договор ON Вклады.КодВклада = Договор.КодВклада;
Измените направление связи LEFT JOIN
Измените направление связи INNER JOIN
ЗАДАНИЕ № 3.
Доработайте Базу Данных ВКЛАДЫ. Все запросы составьте, используя SQL.
