Получение информации из базы данных в СУБД ACCESS 97, страница 2

SELECT Заказы.[Шифр заказа], Заказы.[Наименование заказа], Заказы.Стоимость, Заказы.Объем

FROM Заказы

WHERE (((Заказы.[Шифр заказа]) Like "*Н*" Or (Заказы.[Шифр заказа]) Like "*Р*"));

Задание: Определить шифры заказов (с указанием шифров предприятий), дата отгрузки которых находится в определенном диапазоне.

SELECT Выполнение.[Дата отгрузки], Выполнение.[Шифр предприятия], Выполнение.[Шифр заказа]

FROM Выполнение

WHERE (((Выполнение.[Дата отгрузки])<#5/7/1995# And (Выполнение.[Дата отгрузки])>#5/5/1995#));

Задание: Определить шифры заказов (с указанием шифров предприятий), для которых не выполнена еще отгрузка.

SELECT Выполнение.[Дата отгрузки], Выполнение.[Шифр предприятия], Выполнение.[Шифр заказа]

FROM Выполнение

WHERE (((Выполнение.[Дата отгрузки]) Is Null));

Задание: Вывести информацию о заказах, стоимость и объем которых находятся в определенных диапазонах.

Задание: Вывести информацию о заказах, стоимость или объем которых превышают  определенную величину.

SELECT Заказы.[Шифр заказа], Заказы.[Наименование заказа], Заказы.Стоимость, Заказы.Объем

FROM Заказы

WHERE (((Заказы.Стоимость)>40) AND ((Заказы.Объем)>45));

Задание: Определить наименование, объем и плановую дату  выполнения заказов , для которых не произведены еще все отгрузки.

SELECT Выполнение.[Дата выполнения], Заказы.[Наименование заказа], Заказы.Объем, Выполнение.[Дата отгрузки]

FROM Заказы INNER JOIN Выполнение ON Заказы.[Шифр заказа] = Выполнение.[Шифр заказа]

WHERE (((Выполнение.[Дата отгрузки]) Is Null));

Задание: Для предыдущего запроса выполнить различные типы объединений и обосновать разницу в результатах. (INNER JOIN, LEFT JOIN, RIGHT JOIN).

INNER JOIN - соединяются те записи из исходных таблиц, для которых значение ключа связи совпадает.

LEFT JOIN – все записи из левой и соответствующие им из правой таблиц.

RIGHT JOIN - все записи из правой и соответствующие им из левой таблиц.

Задание: Какие предприятия (их шифры) участвуют в выполнении заказов?

SELECT Выполнение.[Дата выполнения], Заказы.[Наименование заказа], Заказы.Объем, Выполнение.[Дата отгрузки]

FROM Заказы LEFT JOIN Выполнение ON Заказы.[Шифр заказа] = Выполнение.[Шифр заказа];

Задание: Для предыдущего запроса  опробовать действия различных предикатов предложения SELECT инструкции SQL и обосновать разницу в результате.

Задание: Вывести информацию о выполненных заказах предприятиями определенного города (с указанием стоимости и объема этих заказов).

SELECT Предприятие.Город, Выполнение.[Дата выполнения], Заказы.Стоимость, Заказы.Объем

FROM Предприятие LEFT JOIN (Заказы INNER JOIN Выполнение ON Заказы.[Шифр заказа] = Выполнение.[Шифр заказа]) ON Предприятие.[Шифр предпрития] = Выполнение.[Шифр предприятия]

WHERE (((Предприятие.Город)="Москва") AND ((Выполнение.[Дата выполнения]) Is Not Null));

Задание: Вывести информацию о предприятиях, объединив столбцы ГОРОД,  АДРЕС и ТЕЛЕФОН. Созданному столбцу дать новое имя.

SELECT Предприятие.Город&' '& Предприятие.Адрес&' '& Предприятие.[Номер телефона]

as [Все данные]

FROM Предприятие;

Задание: Вывести информацию о заказах с указанием суммарной стоимость по каждому заказу (суммарная стоимость=стоимость*объем).

SELECT Заказы.Стоимость* Заказы.Объем

AS [Все данные]

FROM Заказы;

Задание: Подсчитать общую сумму всех заказов с переименованием столбца в результирующем наборе.

SELECT sum (Заказы.Стоимость* Заказы.Объем)

AS [Сумма]

FROM Заказы;

Задание: Подсчитать среднюю стоимость и средний объем заказов с переименование столбцов в результирующем наборе.

SELECT avg (Заказы.Стоимость) as среднийЗаказ,avg(Заказы.Объем) AS [СреднийОбъём]

FROM Заказы;

б). Создание запроса с параметрами.

Задание: Вывести адрес и телефон предприятия с запросом у пользователя шифра этого предприятия.

SELECT Предприятие.Адрес, Предприятие.[Номер телефона]

FROM Предприятие

WHERE (((Предприятие.[Шифр предпрития])=[введите шифр предприятия]));

Задание: Вывести информацию о заказах, в шифрах которых имеются буквы, задаваемые пользователем.

SELECT Предприятие.Адрес, Предприятие.[Номер телефона]

FROM Предприятие

WHERE (((Предприятие.[Название предприятия]) Like "*" & [введите шифр предприятия] & "*"));

Задание: Вывести шифры и объемы  заказов, у которых диапазон даты отгрузки задается пользователем.

SELECT Заказы.[Шифр заказа], Заказы.Объем

FROM Заказы INNER JOIN Выполнение ON Заказы.[Шифр заказа] = Выполнение.[Шифр заказа]

WHERE (((Выполнение.[Дата отгрузки]) Between [Введите начальный период:] And [Введите конечный период:]));

Задание: Вывести информацию о заказах, выполняемых определенным предприятием (шифр предприятия задается пользователем) и дата выполнения которых позже даты, указываемой пользователем.

SELECT Выполнение.[Шифр предприятия], Выполнение.[Дата выполнения], Заказы.[Наименование заказа], Заказы.Стоимость, Заказы.Объем

FROM Заказы INNER JOIN Выполнение ON Заказы.[Шифр заказа] = Выполнение.[Шифр заказа]

WHERE (((Выполнение.[Шифр предприятия])=[введите шифр предприятия]) AND ((Выполнение.[Дата выполнения])>[введите дату]));