Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ ЛЕКЦИЙ(рус).doc
Скачиваний:
98
Добавлен:
09.02.2016
Размер:
16.61 Mб
Скачать

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

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

Пример 1. Из таблицы ПОСТАВЩИКИ выбрать записи, где ДатаПоставки – 2006 год. Окно конструктора запросов при этом будет иметь вид (рис.10.2).

10.2. Запрос на выборку для решения задачи (пример 1)

Пример 2. Составить запрос на удаление: из таблицы ТОВАРЫ удалить записи, где Стоимость товара меньше 1000. Для этого вызывается таблица ТОВАРЫ, перетаскивается символ * и в строке Удаление выбирается Из (см. первый столбик рис.10.3). Во второй столбец, перетаскивается имя поля, для которого устанавливаются Условия.

Рис.10.3. Запрос на удаление записей

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

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

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

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

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

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

distinctrow – удаляет дублирующие записи из выборки;

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

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

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

order by – обозначает режим сортировки для набора данных (по умолчанию сортировка осуществляется по возрастанию, для сортировки значений по убыванию необходимо добавить слово desc);

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

; - символ, заканчивающий любое SQL сообщение.

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

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

Select distinctrow Продажи.Продано,