Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб раб 4 Запросы-действия и запросы на объед...doc
Скачиваний:
4
Добавлен:
25.08.2019
Размер:
163.84 Кб
Скачать

Синтаксис языка 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

Для создания этого же запроса на объединение мы поступим следующим образом:

  1. Нажмем кнопку Создать на вкладке Запросы окна базы данных и выберем пункт Конструктор. Затем нажмем кнопку ОК.

  2. В окне конструктора закроем диалоговое окно Добавление  таблицы без добавления таблиц в окно конструктора.

  3. В меню Запрос выберем команду Запрос SQL и нажмем пункт Объединение. Этими действиями мы создали пустой запрос на объединение.

  4. Перейдем в окно базы данных и создадим запрос на выборку в режиме конструктора, взяв источником таблицу Выпускники

  5. Теперь добавим из таблицы Выпускники требуемые поля – Фамилия, Имя, Город – в бланк запроса

  6. Перейдем в режим SQL. Для этого щелкнем по треугольничку в правой части кнопки Вид . Мы увидим следующую фразу:

  1. Скопируем это выражение в наш (пока пустой) запрос на объединение:

  • выделим мышкой это выражение,

  • скопируем в буфер (CTRL+C или меню-Правка-Копировать),

  • перейдем в окно запроса на объединение,

  • вставим выражение из буфера (CTRL+V или меню-Правка-Вставить)

  1. Удалим точку с запятой в конце выражения, затем нажмем клавишу Enter для перехода на новую строку и введем с клавиатуры слово UNION и <пробел>. В результате получится:

  1. Теперь повторим шаги 4–6 для таблицы Студенты. Получим:

  1. Скопируем это выражение в конец запроса на объединение. Получим:

  1. Просмотрим результат выполнения этого запроса (кнопкой Вид ):

Рис. 5.27 Результаты выполнения запроса на объединение

  1. Теперь требуется упорядочить результаты, например, по полю Город. Для этого вернемся в режим SQL (кнопкой Вид ) и

  • сотрем последнюю точку с запятой и перейдем на новую строчку,

  • введем с клавиатуры выражение:

ORDER BY Выпускники.Город

  • в конце поставим точку с запятой. Получится:

  1. Просмотрим окончательный результат выполнения запроса (рис. 5.28):

Рис. 5.28 Результаты выполнения запроса на объединение