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

Лабораторные работы (А-13-07) / Дадыкин, Санганджиев / лабораторные работы (БД лаб№5 Дадыкин)

.docx
Скачиваний:
37
Добавлен:
28.06.2014
Размер:
690.34 Кб
Скачать

Задание №1

Выдать статистику по учебным заведениям вашего государства только прием 1990 года. Отчет должен начинаться заголовком и цифрой ­общим количеством записей по запросу (по приему 90-го года). Далее таблица, включающая перечень учебных заведений с цифрами, не равными нулю.

Create procedure p1 as

select count(*) as Kolvo from ukr where gp='90'

select vuz.uch_zavedenie, count(*) as Y1990_Abiturients from ukr

join vuz on vuz_k=cod

where gp='90' group by vuz.uch_zavedenie

having COUNT(*)>0

Задание №2

Выдать статистику по городам вашего государства. Отчет должен начинаться с соответствующего заголовка и цифры - общего количества записей по запросу. Далее таблица, включающая перечень городов с циф­рами, не равными нулю.

Create procedure p2 as

select count(*) as Kolvo_gorodov from vuz_gorod where (nazvanie_stran='УКРАИНА')

select COUNT(*) as Vsego_People from ukr

select nazvanie_goroda, COUNT(*) as Number_People from ukr

join vuz_gorod on ukr.vuz_k = vuz_gorod.cod_vuza

group by vuz_gorod.nazvanie_goroda

having COUNT(*) > 0

Задание №3

Выдать статистику по вашему государству по следующим специаль­ностям: 0401, 0405, 1002, 1004 (общее число по каждой специальности), а также в каких учебных заведениях и сколько обучается по этим специ­альностям. Отчет должен начинаться с соответствующего заголовка. Да­лее четыре таблицы, где каждая таблица начинается с заголовка: СПЕЦИАЛЬНОСТЬ <шифр> - ВСЕГО <цифра> (не равная нулю), а заканчивает­ся перечнем учебных заведений с цифрами, не равными нулю.

Create procedure p3 as

select spec as STATISTICA ,count(*) as Total from ukr where spec in ('000401','000405','001002','001004')

group by spec

select Ukraina.spec, V.uch_zavedenie, COUNT(*) as Kolvo, SUM(COUNT(*)) OVER() as Total from ukr as Ukraina

join vuz as V on Ukraina.vuz_k = V.cod

where Ukraina.spec = '000401'

Group by Ukraina.spec, V.uch_zavedenie

HAVING COUNT(*) > 0;

select Ukraina.spec, V.uch_zavedenie, COUNT(*) as Kolvo, SUM(COUNT(*)) OVER() as Total from ukr as Ukraina

join vuz as V on Ukraina.vuz_k = V.cod

where Ukraina.spec = '000405'

Group by Ukraina.spec, V.uch_zavedenie

HAVING COUNT(*) > 0;

select Ukraina.spec, V.uch_zavedenie, COUNT(*) as Kolvo, SUM(COUNT(*)) OVER() as Total from ukr as Ukraina

join vuz as V on Ukraina.vuz_k = V.cod

where Ukraina.spec = '001002'

Group by Ukraina.spec, V.uch_zavedenie

HAVING COUNT(*) > 0;

select Ukraina.spec, V.uch_zavedenie, COUNT(*) as Kolvo, SUM(COUNT(*)) OVER() as Total from ukr as Ukraina

join vuz as V on Ukraina.vuz_k = V.cod

where Ukraina.spec = '001004'

Group by Ukraina.spec, V.uch_zavedenie

HAVING COUNT(*) > 0;

Задание №4

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

Create procedure p4 as

select pol as Men ,count(*) as Vsego_Men from ukr where pol='М'

group by pol

select vuz.uch_zavedenie, count(*) as Kolvo from ukr join vuz on vuz_k=cod

where pol='М' group by vuz.uch_zavedenie

Задание №5

Выдать статистику по всем специальностям вашего государства и только по студентам, заканчивающим учебу в 1994 году. Отчет должен начинаться с соответствующего заголовка и цифры - общего количества записей по запросу (всего студентов-выпускников 1994 г.). Далее таб­лица, включающая перечень шифров специальностей с цифрами, не равны­ми нулю.

Create procedure p5 as

select gok as YearGraduate ,count(*) as Total from ukr

where gok='94'

group by gok

select ukr.spec, COUNT(*) as Kolvo from ukr

join vuz on ukr.vuz_k = vuz.cod

where ukr.gok = '94'

group by ukr.spec

having COUNT(*) > 0

Задание №6

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

Create procedure p6 as

select SUM(COUNT(*)) OVER() as Vsego_YearEntering from ukr

select ukr.gp as YearEntering, COUNT(*) as Count_YearEntering from ukr

group by ukr.gp

having COUNT(*) > 0

Задание №7

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

Create procedure p7 as

select SUM(COUNT(*)) OVER() as Vsego_YearGraduate_Students from ukr

select ukr.gok as YearGraduate, COUNT(*) as Count_YearGraduate_Students from ukr

group by ukr.gok

having COUNT(*) > 0