Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы (2011) / Бочаров, Кобец / Лабораторная работа 5.docx
Скачиваний:
56
Добавлен:
28.06.2014
Размер:
2.19 Mб
Скачать

Задание 5

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

create procedure lr5_p5 @god VARCHAR(2) AS

begin

select COUNT(*) as 'Количество' from arm where gok = @god

select spec as 'Специальность',COUNT(*) as 'Количество'

from arm

where gok = @god

group by spec

order by spec

end

Задание 6

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

create procedure lr5_p6 as

begin

select COUNT(DISTINCT gp) as 'Количество' from arm

select gp as 'Год приема', COUNT(*)as 'Количество'

from arm

group by gp

order by gp

end

Задание 7

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

create procedure lr5_p7 as

begin

select COUNT(DISTINCT gok) as 'Количество' from arm

select gok as 'Год окончания', COUNT(*)as 'Количество'

from arm

group by gok

order by gok

end

Задание 8

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

create procedure lr5_p8 @god VARCHAR(2) as

begin

select COUNT(*) as 'Количество' from arm where gp = @god

select kat_obucheniya as 'Категория', COUNT(*) as 'Количество'

from arm

join kat_obuch on kat_obuch_k = cod

where gp = @god

group by kat_obucheniya

order by kat_obucheniya

end

Задание 9

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

create procedure lr5_p9 as

begin

select spec as 'Специальность',

COUNT(*) as 'Всего',

SUM (CASE WHEN pol='Ì' THEN 1 WHEN pol ='Æ' THEN 0 END) as 'Мужчин',

SUM (CASE WHEN pol='Æ' THEN 1 WHEN pol ='Ì' THEN 0 END) as 'Женщин'

from arm

where spec LIKE '%40[1-3,5]'

group by spec

end

Задание 10

Выдать статистику по семейному положению учащихся вашего го­сударства, заканчивающих учебу в 1994 или в 1995 году. Отчет должен начинаться с соответствующего заголовка. Далее - две таблицы, где каждая таблица начинается с заголовка: ГОД ВЫПУСКА <год> - ВСЕГО <цифра> (не равная нулю), а заканчивается перечнем семейных положе­ний с цифрами, не равными нулю.

create procedure lr5_p10 @god1 VARCHAR(2), @god2 VARCHAR(2) as

begin

select gok as 'Год выпуска',COUNT(*)

as 'Количество'

from arm where gok in (@god1,@god2)

group by gok

order by gok

select family_status as 'Семейное положение',COUNT(*)

as 'Количество'

from arm

join family on cod = sem_polog_k

where gok in (@god1,@god2)

group by family_status

order by family_status

end