Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаборатор access.doc
Скачиваний:
39
Добавлен:
02.02.2015
Размер:
32.54 Mб
Скачать

2.2. Создание многотабличного запроса.

Простые многотабличные запросы формируются подобным образом. Необходимо только описать связи между таблицами, их тип, и, возможно, псевдоним.

Создадим запрос, выводящий информацию о преподавателях и о предметах, которые они преподают.

SELECT Преподаватели.Номер_П, Преопдаватели.Фамилия,

Преподаватели.Имя, Преподаватели.Отчество,

Преподаватели.Кафедра, Результаты.Предмет

FROM Преподаватели

INNER JOIN Результаты

ON Преподаватели.Номер_П = Результаты.Номер_П

ORDER BY Преподаватели.Номер_П;

Перейдем в режим таблиц и проверим результаты запроса. Сохраним полученный запрос под именем "Предметы и преподаватели".

2.3. Запросы с параметрами.

Типы запросов, в которых необходимо использовать параметрический ввод значений были рассмотрены в предыдущей лабораторной работе. В SQL эта возможность реализуется использованием предложения PARAMETERS в начале инструкции SQL. PARAMETERS предназначено для определения типов данных, используемых нами в запросе параметров.

Синтаксис предложения:

PARAMETERS {[ имя_параметра ] тип_данных }...;

Элемент <имя_параметра> выводится как его описание при запросе. Поэтому желательно создавать имена, однозначно определяющие данные, которые нам нужны. Так, вместо малоинформативных имен типа "Введите дату" или "Текущий номер" желательно дать расширенное описание требуемых значений.

Вторым элементом предложения является <тип_данных>, в котором будет хранится введенное значение. Соответствие типов данных SQL и отображение их в ACCESS приведено в Приложении 2. В SQL−инструкции указывается SQL−тип данных (для совместимости кода с другими приложениями, поддерживающими этот язык).

2.4. Создание многотабличного запроса с параметрически заданным условием отбора.

Условие отбора определяет простой или составной предикат, который может принимать значения "True", "False", или "Null" для данной строки или группы строк.

Условие отбора используется в предложении WHERE или в инструкции SELECT внутри предложения HAVING, в подчиненных запросах или в инструкциях DELETE, UPDATE для выбора группы строк, над которыми будут произведены действия или отбор. Если условие отбора для строки имеет значение "True", то такая строка включается в результирующий набор.

Синтаксис условия отбора:

[NOT] {предикат | (условие отбора)}

[ { AND | OR | XOR | EQV | IMP }

[NOT] {предикат | (условие отбора)}]...

Приоритет логических операторов следующий: NOT, AND,OR, XOR, EQV (эквивалентность) и IMP (импликация). Для изменения приоритетов выполнения условий применяются круглые скобки. Таблицы истинности логических операторов представлены в таблицах 1..5 приложения 1.

Создадим запрос, выводящий информацию о студентах сдавших сессию вовремя. Для этого в окне редактора инструкций SQL введем команду:

SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество,

Результаты.Номер_С AS Сдали задолженность

Результаты.Задолженность, Результаты.Дата_сдачи,

FROM Студенты

INNER JOIN Результаты

ON Студенты.Номер_С = Студенты.Номер_С

WHERE ((Результаты.Дата_сдачи<=[Введите дату сдачи задолженности])

OR (Результаты.Задолженность=0));

Сохраним полученный запрос под именем "Студенты сдавшие сессию".