Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод.указания.к.р.2 рус.вар..doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
581.63 Кб
Скачать

Многотабличные запросы

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

Структурирован язык запроса (sql)

Запрос, который создается с помощью бланка QBE, будет сохраняться в компьютере в виде директивы SQL, которую называют сообщением. При работе из Access сам язык SQL от нас обычно спрятан. Например, все операции с запросами выполняются с использованием SQL, но при этом мы видим на экране лишь бланк формы запроса. Сообщения SQL и окна бланка запроса связаны динамически: любое изменение в одном из них автоматически приводит к изменению в другом.

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

Сообщение SQL состоит из ключевых слов, а также идентификаторов и выражений Access. Наиболее важные ключевые слова SQL:

select - первое слово всех сообщений SQL, с помощью которого проводится поиск данных в одной или нескольких таблицах в базе данных. За ключевым полем select следуют имена всех полей, которые включаются в выборку. Используя знак * после select, можно автоматически включить в запрос все поля исходной таблицы;

distinct - исключает повторяемые значения из поля в наборе записей, которые найдены с помощью SQL;

distinctrow - удаляет запись из выборки только при дублировании всей записи полностью;

from – указывает, какая таблица содержит нужные нам поля;

join - определяет связь между записями, которые находятся в разных таблицах;

where - определяет условие выбора, которое должно использоваться при выборе записей для включения их в выборку;

order by - определяет режим сортировки для набора данных;

group by - помечает, что будет возвращена одна запись для каждого отдельного значения в отмеченном поле. Если group by включается в select, список выбора должен включать функции avg, count, sum и др.

При введении условий выбора записей можно использовать знаки отношения, логические операции and и or, операторы: between, in, like.

Для иллюстрации синтаксиса языка SQL воспользуемся таблицей «Продажи». Пример1. Записать сообщение SQL, для заполнения поля «Стоимость», значение которого вычисляется по формуле: Стоимость = Продано * Цена_ед

select distinctrow Продажи. Продано

Продажи. Цена_ед.

[Продано]* [Цена_ед] as Стоимость

from Продажи;

Пример 2. Найти записи с датой заказа ранее 30 марта 1997р.

select *

from Продажи

where Продажи. Дата_заказа < #3/30/97#;

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

select *

from Продажи

where Продажи. Дата_заказа < #3/30/97#

order by Продажи. Код_покупателя;

Пример 4. Подсчитать стоимость товаров, сделанных каждым покупателем.

select distinctrow Продажи. Код_покупателя

sum ([Продано]* [Цена_ед]) as Стоимость

from Продажи

group by Продажи. Код_покупателя;

В итоге будет сформирована таблица, где для каждого покупателя будет подведен итог по стоимости покупок.

Использование форм