Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

db / Практика / 6 семестр / Контрольная / Контрольная работа №1 - Запросы SELECT_решение

.doc
Скачиваний:
42
Добавлен:
23.03.2015
Размер:
32.77 Кб
Скачать

Контрольная работа № 1 - решения

  1. Выведите коды, фамилии и имена и должности сотрудников, которые не являются представителями.

select КодСотрудника, Фамилия, Имя, Должность

from Сотрудники

where LCASE(Должность) <> 'представитель';

  1. Выведите данные о сотрудниках в виде строк: «<обращение> <Имя>, <Фамилия> принят(а) на работу <дата приема>», например « г-жа Белова Мария принята на работу 01-май-1992».

SELECT Обращение+' '+Имя+' '+Имя+' '+Фамилия+' принят(а) на работу '+STR(ДатаНайма)

from Сотрудники;

  1. Для каждого сотрудника вывести минимальную, максимальную и среднюю стоимость доставки.

select

Фамилия, Имя,

MIN(СтоимостьДоставки) as [Мин],

MAX(СтоимостьДоставки) as [Макс],

AVG(СтоимостьДоставки) as [Средн]

from Сотрудники, Заказы

where Сотрудники.КодСотрудника = Заказы.КодСотрудника

group by Фамилия, Имя;

  1. Выведите названия и город клиентов, а также цену, количество, марку и тип заказанных ими товаров (результат упорядочить по названиям поставщиков и марке товаров).

select к.Название, к.Город, т.Цена, з.Количество, т.Марка, Типы.Категория

from Клиенты к, Заказы, Заказано з, Товары т, Типы, Поставщики п

where

к.КодКлиента = Заказы.КодКлиента and

Заказы.КодЗаказа = з.КодЗаказа and

з.КодТовара = т.КодТовара and

т.КодТипа = Типы.КодТипа and

т.КодПоставщика = п.КодПоставщика

order by п.Название, т.Марка

  1. Выведите тип, марку и поставщика товаров, цена на которые находится в диапазоне от 1000 до 2000 рублей.

SELECT Типы.Категория, т.Марка, п.Название

from Товары т, Типы, Поставщики п

where

т.КодТипа = Типы.КодТипа and

т.КодПоставщика = п.КодПоставщика and

1000 <= т.Цена and т.Цена <= 2000;

  1. Вывести с использованием функции SUBSTRING данные о поставщиках товаров, марка которых начинается на буквы `G` или `g`.

select distinct п.*

from Поставщики п, Товары т

where

п.КодПоставщика = т.КодПоставщика and

LCASE(MID(Марка, 1, 1)) = 'g';

  1. Для каждого поставщика вывести количество товаров (которые он поставляет).

select п.Название, COUNT(*) as [Количество товаров]

from Поставщики п, Товары т

where п.КодПоставщика = т.КодПоставщика

group by п.Название;

  1. Из таблицы «Сотрудники» выведите все должности, исключив при этом повторения.

select distinct Должность

from Сотрудники;

  1. Выведите марки фруктов.

select Марка

from Товары, Типы

where

Товары.КодТипа = Типы.КодТипа and

LCASE(Категория) = 'фрукты';

  1. Сколько всего клиентов делали заказы в 1996 году?

SELECT COUNT(*)

FROM (

select distinct КодКлиента

from Заказы

where YEAR(ДатаРазмещения)=1996);

Соседние файлы в папке Контрольная