Top Banner
ACCESS Вложенные запросы
13

ACCESS

Jan 02, 2016

Download

Documents

ACCESS. Вложенные запросы. Основные и вложенные запросы. Вложенным называется запрос, результат которого используется как условие отбора в основном запросе. Такие запросы используются, если нужно из базы выбрать записи по неизвестному критерию или сравнить результаты двух запросов. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ACCESS

ACCESS

Вложенные запросы

Page 2: ACCESS

Основные и вложенные запросы

Вложенным называется запрос, результат которого используется как условие отбора в основном запросе.

Такие запросы используются, если нужно из базы выбрать записи по неизвестному критерию или сравнить результаты двух запросов.

Для выполнения такого сложного запроса достаточно выполнить основной запрос, он автоматически выполняет все вложенные в него запросы.

Page 3: ACCESS

Пример 1

Из базы данных «Деканат» получить список студентов, которые учатся в одной группе с Ивановым. Эта задача решается в два действия.

1) Создадим сначала запрос (9а1), который определяет, в какой группе учится Иванов. Это простой запрос на выбор.

Page 4: ACCESS

Пример 1

2) Затем создадим запрос, в котором из таблицы Студенты выбираются записи в которых номер группы совпадает с номером группы из предыдущего запроса (9а1). Здесь результат предыдущего запроса используется как критерий отбора. Это тоже простой запрос.

В бланк основного запроса нужно добавить таблицу Студенты и вложенный запрос (9а1). При записи условия имя вложенного запроса берется в квадратные скобки, а между именем запроса и именем поля ставится восклицательный знак. Лучше использовать построитель выражений

Page 5: ACCESS

Пример 2

В базе данных «Деканат» найти группы, сдавшие английский язык лучше (по среднему баллу), чем 9702 группа.

Эта задача решается в три действия.

1) Первый запрос (Запрос 1) вычисляет средний балл по английскому языку в 9702 группе. Это запрос с группировкой.

В базе данных «Деканат» найти группы, сдавшие английский язык лучше (по среднему баллу), чем 9702 группа.

Эта задача решается в три действия.

1) Первый запрос (Запрос 1) вычисляет средний балл по английскому языку в 9702 группе. Это запрос с группировкой.

Page 6: ACCESS

Пример 2

2) Второй запрос (Запрос 2) вычисляет средний балл по английскому языку в каждой группе. Это тоже запрос с группировкой.

Page 7: ACCESS

Пример 2

3) Третий запрос (Запрос 3) использует результат первого запроса (Запрос 1), как критерий отбора для записей второго запроса (Запрос 2). Это простой запрос на выбор.

В бланк запроса 3 не добавляются никакие другие таблицы, кроме Запрос 1 и Запрос 2. Важно не перепутать какой запрос исходный, а какой используется как критерий отбора

Page 8: ACCESS

Пример 3

В базе данных «Деканат» найти самого молодого студента. Эта задача решается в два действия.

1) Первый запрос (Запрос 8а) определяет максимальную дату рождения. Это запрос с группировкой. Результатом его является дата.

Page 9: ACCESS

Пример 3

2) Второй запрос (Запрос 81) из таблицы Студенты определяет фамилию студента с найденной в запросе 8а датой рождения. Это простой запрос на выборку. Результатом его является фамилия (мог быть и список фамилий).

Page 10: ACCESS

Пример 4

В базе данных «Деканат» создать запрос «Лучшие в группах» со списком студентов, каждый из которых является лучшим в своей группе (по сумме полученных оценок).

Эта задача решается в три действия.

1) Первый запрос (Запрос 1) находит сумму оценок для каждого студента. Это запрос с группировкой. Результатом его является такая таблица:

Page 11: ACCESS

Пример 4

2) Второй запрос (Запрос 2) находит максимальную сумму оценок в каждой группе. Входными данными для этого запроса будет Запрос1. Это тоже запрос с группировкой.

Результатом его является такая таблица:

Page 12: ACCESS

Пример 4

3) Третий запрос (Запрос3) из таблицы, которая получается в результате выполнения Запроса1 выбирает записи у которых значения полей Группа и Sum-Оценка, совпадают со значениями полей Группа и Max-Sum-Оценка из Запроса2. Таким образом Запрос 1 входная таблица, а поля Запроса2 используются как критерий отбора.

Page 13: ACCESS

Пример 4

Результатом такого запроса будет таблица: