Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
База данных_ПЗ_4_Запросы.doc
Скачиваний:
3
Добавлен:
06.12.2018
Размер:
685.57 Кб
Скачать

СУБД ACCESS

Практическое занятие 3 .

Тема: “Технология конструирования запросов ”

Цель занятия:

  • Научиться создавать различные виды запросов в СУБД ACCESS

  • Ознакомиться с основными инструкциями языка структурирования запросов SQL.

Инструкция/строка SQL - выражение, определяющее команду SQL, например, SELECT, UPDATE или DELETE, и включающее предложения, например, WHERE или ORDER BY. Инструкции/строки SQL обычно используются в запросах и в статистических функциях.

Запросы SQL и их использование

Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Примерами запросов SQL могут служить запросы на объединение, запросы к серверу, управляющие, подчиненные запросы и т.д.

Запрос на объединение

Запросы этого типа комбинируют поля (столбцы) из одной или нескольких таблиц или запросов в одно поле в результатах запроса. Например, если шесть поставщиков ежемесячно посылают новые списки оборудования, то с помощью запроса на объединение эти списки можно объединить в один, а затем поместить результаты в новую таблицу, созданную с помощью запроса на создание таблицы, основанного на запросе на объединение.

Запрос к серверу

Запросы этого типа отправляют команды непосредственно в базы данных ODBC, такие как Microsoft FoxPro, причем используются только команды, поддерживаемые сервером. Например, запрос к серверу можно использовать для загрузки записей или изменения данных.

Управляющий запрос

Запросы данного типа создают, удаляют и изменяют таблицы или создают индексы в базах данных, таких как таблицы Microsoft Access или Microsoft FoxPro.

Подчиненный запрос

Запрос этого типа представляет собой инструкцию SQL SELECT, вложенную в запрос на выборку или запрос на изменение. Чтобы определить новое поле, данную инструкцию можно ввести в строку Поле в бланке запроса. Чтобы указать для данного поля условие отбора, введите инструкцию в строку Условие отбора. Подчиненные запросы используются для:

  • проверки наличия результатов подчиненного запроса (используются зарезервированные слова EXISTS или NOT EXISTS);

  • поиска значений в основном запросе, которые равны, превышают или меньше значений, возвращаемых подчиненным запросом (используются зарезервированные слова ANY, IN или ALL);

  • создания подчиненных запросов внутри подчиненных запросов (вложенные запросы).

Примеры выражений в инструкциях sql

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

Выражение

Результат

SELECT [Имя],[Фамилия] FROM [Сотрудники] WHERE [Фамилия]="Сидоров";

Выводит значения полей «Имя» и «Фамилия» для сотрудников, имеющих фамилию Сидоров.

SELECT [КодТовара],[Марка] FROM [Товары] WHERE [КодТипа]=Forms![Новые товары]![КодТипа];

Выводит значения полей «КодТовара» и «Марка» из таблицы «Товары» для записей, у которых значение поля «КодТипа» совпадает со значением элемента управления «КодТипа» в открытой форме «Новые товары».

SELECT Avg([ОтпускнаяЦена]) AS [Средняя отпускная цена] FROM [Сведения о заказах] WHERE [Отпускная цена]>1000;

Вычисляет среднюю отпускную цену для заказов, у которых значение в поле «ОтпускнаяЦена» превышает 1000, и выводит их в поле «Средняя отпускная цена».

SELECT [КодТипа],Count([КодТовара]) AS [КодКоличестваТоваров] FROM [Товары] GROUP BY [КодТипа] HAVING Count([КодТовара])>10;

Выводит в поле «КодКоличестваТоваров» общее количество товаров для типов, имеющих более 10 товаров.

Технология конструирования запросов по образцу(QBE)

Конструирование однотабличного запроса на выборку

Рассмотрим технологию конструирования однотабличного запроса на выборку на примере получения информации из таблицы ПРЕДМЕТ базы данных Учебный процесс.

Использование логических операций в условии отбора

Пример 4.1. Пусть надо выбрать предметы, по которым общее число часов изучения не более 100 и есть лекции, а также выбрать предметы, по которым общее число часов больше 150 и число семестров изучения не более двух. Результат должен содержать наименование предмета(НП), общее число часов по предмету(ЧАСЫ), количество лекционных часов(ЛЕК) и число семестров(ЧС).

Последовательность действий

Выбрать закладку Запросы

  1. Нажать кнопку Создать

  2. В окне Новый запрос выбрать Конструктор

  3. В качестве исходной таблицы выбрать ПРЕДМЕТ

  4. Перетащить из списка таблицы ПРЕДМЕТ в столбцы бланка запроса поля НП, ЧАСЫ, ЛЕК, ЧС

  5. Сформулировать условия отбора

  6. (ЧАСЫ<=100 AND ЛЕК<>)OR(ЧАСЫ>150 AND ЧС<3)

  7. Условие записать в строке Условие отбора

  8. Выполнить запрос

Microsoft Access выводит эквивалентную инструкцию SQL для запроса, созданного в режиме конструктора(Вид/Режим SQL):

SELECT Предмет.НП, Предмет.Часы, Предмет.Лек, Предмет.ЧС

FROM Предмет

WHERE (((Предмет.Часы)<=100) AND ((Предмет.Лек)<>0)) OR (((Предмет.Часы)>150) AND ((Предмет.ЧС)<3));

Рис.4.1. Окно конструктора запроса на выборку с логическими операциями в условии отбора

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]