- •Запросы на создание таблицы
- •Режим просмотра/редактирования sql в запросах Access
- •Синтаксис языка sql
- •Запросы на объединение
- •Общий порядок создания запросов на объединение
- •Как создать запрос на объединение, почти не зная языка sql
- •Порядок и методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
Синтаксис языка sql
Правила записи инструкций языка SQL можно посмотреть в справочной системе Access или в файле SQL инструкции.doc (в котором собраны копии соответствующих разделов справочной системы).
Запросы на объединение
Запрос на объединение полезен для переноса информации из одной или большего числа таблиц или запросов в новый запрос такой же структуры. Например, школа поддерживает связи со студентами – бывшими выпускниками, а также вовлекает в этот процесс новых выпускников (рис. 5.26).
Рис. 5.26 Исходные таблицы Выпускники и Студенты
Для периодических почтовых рассылок полезно совместить имена из списков студентов и выпускников с указанием их домашних адресов.
Общий порядок создания запросов на объединение
Для создания запроса на объединение выполните следующие действия:
Нажмите кнопку Создать на вкладке Запросы окна базы данных и выберите пункт Конструктор. Затем нажмите кнопку ОК.
В окне конструктора закройте диалоговое окно Добавление таблицы без добавления таблиц в окно конструктора.
В меню Запрос выберите команду Запрос SQL и нажмите пункт Объединение. Откроется пустое окно для ввода инструкций SQL.
Введите инструкции SQL SELECT; первая инструкция должна быть одиночной, а вторая инструкция следует за операцией UNION.
Приведенные ниже инструкции SQL совмещают поля имени и фамилии из таблиц Выпускники и Студенты и сортируют результаты по городу проживания студентов (поле Город):
SELECT [Фамилия], [Имя], [Город] FROM [Выпускники]
UNION
SELECT [Фамилия], [Имя], [Город] FROM [Студенты]
ORDER BY [Город];
Весь этот текст пришлось вводить вручную, т.к. запрос на объединение невозможно отобразить в режиме конструктора. Но мы не изучали подробности задания запросов с помощью языка SQL, хотя и имели возможность видеть SQL‑выражения, полученные в результате построения запроса в режиме конструктора.
Как создать запрос на объединение, почти не зная языка sql
Для создания этого же запроса на объединение мы поступим следующим образом:
Нажмем кнопку Создать на вкладке Запросы окна базы данных и выберем пункт Конструктор. Затем нажмем кнопку ОК.
В окне конструктора закроем диалоговое окно Добавление таблицы без добавления таблиц в окно конструктора.
В меню Запрос выберем команду Запрос SQL и нажмем пункт Объединение. Этими действиями мы создали пустой запрос на объединение.
Перейдем в окно базы данных и создадим запрос на выборку в режиме конструктора, взяв источником таблицу Выпускники
Теперь добавим из таблицы Выпускники требуемые поля – Фамилия, Имя, Город – в бланк запроса
Перейдем в режим SQL. Для этого щелкнем по треугольничку в правой части кнопки Вид . Мы увидим следующую фразу:
Скопируем это выражение в наш (пока пустой) запрос на объединение:
выделим мышкой это выражение,
скопируем в буфер (CTRL+C или меню-Правка-Копировать),
перейдем в окно запроса на объединение,
вставим выражение из буфера (CTRL+V или меню-Правка-Вставить)
Удалим точку с запятой в конце выражения, затем нажмем клавишу Enter для перехода на новую строку и введем с клавиатуры слово UNION и <пробел>. В результате получится:
Теперь повторим шаги 4–6 для таблицы Студенты. Получим:
Скопируем это выражение в конец запроса на объединение. Получим:
Просмотрим результат выполнения этого запроса (кнопкой Вид ):
Рис. 5.27 Результаты выполнения запроса на объединение
Теперь требуется упорядочить результаты, например, по полю Город. Для этого вернемся в режим SQL (кнопкой Вид ) и
сотрем последнюю точку с запятой и перейдем на новую строчку,
введем с клавиатуры выражение:
ORDER BY Выпускники.Город
в конце поставим точку с запятой. Получится:
Просмотрим окончательный результат выполнения запроса (рис. 5.28):
Рис. 5.28 Результаты выполнения запроса на объединение