Контрольная работа № 2. ИТЭ. 2006/7 весна
Таблица АртистЦирка
КодАртиста |
Фамилия |
ГодРождения |
Город |
1 |
Гудини |
1950 |
Лондон |
2 |
Кио |
1960 |
Воронеж |
3 |
Попов |
1957 |
Ленинград |
4 |
Запашный |
1970 |
Ленинград |
Таблица Животное
КодЖивотного |
Вид |
Кличка |
Вес |
1 |
пантера |
Багира |
150 |
2 |
пантера |
Кики |
160 |
3 |
собака |
Рекс |
30 |
4 |
лев |
Цезарь |
180 |
5 |
лев |
Брут |
175,5 |
6 |
бегемот |
Тото |
500 |
7 |
крокодил |
0 |
Таблица «Номер»
КодАртиста |
КодЖивотного |
Город |
Название |
Жанр |
1 |
1 |
Париж |
Кольцо Огня |
Дрессура |
1 |
3 |
Париж |
побег |
Дрессура |
2 |
1 |
Мадрид |
Индия |
Дрессура |
3 |
2 |
Дрезден |
Сакура |
пантомима |
3 |
3 |
Воронеж |
1. Самый молодой артист, который работает с пантерами.
SELECT TOP 1 АртистЦирка.Фамилия, АртистЦирка.ГодРождения, Животное.Вид
FROM Животное INNER JOIN (АртистЦирка INNER JOIN Номер ON АртистЦирка.КодАртиста = Номер.КодАртиста) ON Животное.КодЖивотного = Номер.КодЖивотного
WHERE (((Животное.Вид)="пантера"))
ORDER BY АртистЦирка.Фамилия DESC;
Фамилия |
ГодРождения |
Вид |
Попов |
1957 |
пантера |
2. С какими артистами работает самое маленькое животное?
А) SELECT АртистЦирка.Фамилия, Животное.Вид, Животное.Кличка, Min(Животное.Вес) AS [Min-Вес]
FROM Животное INNER JOIN (АртистЦирка INNER JOIN Номер ON АртистЦирка.КодАртиста = Номер.КодАртиста) ON Животное.КодЖивотного = Номер.КодЖивотного
GROUP BY АртистЦирка.Фамилия, Животное.Вид, Животное.Кличка;
Фамилия |
Вид |
Кличка |
Min-Вес |
Гудини |
пантера |
Багира |
150 |
Гудини |
собака |
Рекс |
30 |
Кио |
пантера |
Багира |
150 |
Попов |
пантера |
Кики |
160 |
Б) SELECT top 1 АртистЦирка.Фамилия, Животное.Вид, Животное.Кличка, Животное.Вес
FROM Животное INNER JOIN (АртистЦирка INNER JOIN Номер ON АртистЦирка.КодАртиста = Номер.КодАртиста) ON Животное.КодЖивотного = Номер.КодЖивотного
ORDER BY Животное.Вес;
Фамилия |
Вид |
Кличка |
Вес |
Попов |
собака |
Рекс |
30 |
Гудини |
собака |
Рекс |
30 |
3. Создать таблицу, которая содержит данные о животных семейства кошачьих.
SELECT Животное.Вид, Животное.Кличка, Животное.Вес
FROM Животное
WHERE (((Животное.Вид) in ("пантера","лев", "тигр", "кошка")));
Вид |
Кличка |
Вес |
пантера |
Багира |
150 |
пантера |
Кики |
160 |
лев |
Цезарь |
180 |
лев |
Брут |
175,5 |
4. Вывести список всех видов животных.
А) SELECT Животное.Вид FROM Животное;
Вид |
пантера |
пантера |
собака |
лев |
лев |
Б) SELECT distinct Животное.Вид FROM Животное;
Вид |
лев |
пантера |
собака |
5. Составить список всех городов, упоминаемых в БД.
SELECT АртистЦирка.Город
FROM АртистЦирка
UNION select Номер.Город from Номер;
Город |
Воронеж |
Дрезден |
Ленинград |
Лондон |
Мадрид |
Париж |
6. Составить таблицу, которая содержит следующие данные: минимальный, средний, максимальный вес животного и общее количество животных.
SELECT Min(Животное.Вес) AS [Min-Вес], Avg(Животное.Вес) AS [Avg-Вес], Max(Животное.Вес) AS [Max-Вес], Count(Животное.КодЖивотного) AS [Count-КодЖивотного]
FROM Животное;
Min-Вес |
Avg-Вес |
Max-Вес |
Count-КодЖивотного |
30 |
139,1 |
180 |
5 |
7. Слово «гиппопотам» заменить на «бегемот».
UPDATE Животное SET Животное.Вид = "бегемот"
WHERE (((Животное.Вид)="гиппопотам"));
8. Создать перекрестный запрос
TRANSFORM Count(Номер.Название) AS [Count-Название]
SELECT Номер.Город, Count(Номер.Название) AS [Всего номеров]
FROM АртистЦирка INNER JOIN Номер ON АртистЦирка.КодАртиста = Номер.КодАртиста
GROUP BY Номер.Город
PIVOT АртистЦирка.Фамилия;
Город |
Всего номеров |
Гудини |
Кио |
Попов |
Воронеж |
0 |
0 |
||
Дрезден |
1 |
1 |
||
Мадрид |
1 |
1 |
||
Париж |
2 |
2 |
9. Удалить все номера, в которых участвуют крокодилы.
DELETE Номер.*, Животное.Вид
FROM Животное INNER JOIN Номер ON Животное.КодЖивотного = Номер.КодЖивотного
WHERE (((Животное.Вид)="крокодил"));
КодАртиста |
КодЖивотного |
Город |
Название |
Жанр |
Вид |
1 |
7 |
Милан |
Нильские воды |
мистерия |
крокодил |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.