Скачиваний:
44
Добавлен:
28.06.2014
Размер:
925.18 Кб
Скачать

Лабораторная работа №5

по Базам Данных

Выполнили: Кохов В.В

Крамм Е.М

Группа: А-13-07

Преподаватель: Сидорова Н. П.

Задание 8

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

create procedure zapr8 as

select vsego=count(*) from azer where gp='91'

select kat_obuch.kat_obucheniya, kolvo=count(*)

from azer join kat_obuch on kat_obuch_k=kat_obuch.cod

where gp='91'

group by kat_obuch.kat_obucheniya

Задание 9

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

Create procedure zapr9 as

select spec, [всех]=COUNT(*),

sum(case when pol = 'М' then 1 else 0 end) [муж],

sum(case when pol = 'Ж' then 1 else 0 end) [жен]

from azer where spec in ('000401','000402','000403','000405')

group by spec

Задание 10

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

ALTER procedure [dbo].[zapr10] as

select gok, [âñåõ]=COUNT(*),

sum(case when sem_polog_k = '0' then 1 else 0 end) [ХОЛОСТ],

sum(case when sem_polog_k = '1' then 1 else 0 end) [ЖЕНАТ/ЗАМУЖ],

sum(case when sem_polog_k = '2' then 1 else 0 end) [БР.С РОС.ГРЖ],

sum(case when sem_polog_k = '3' then 1 else 0 end) [БР.РОС.З/РУБ]

from azer where gok='94'

group by gok

select gok, [âñåõ]=COUNT(*),

sum(case when sem_polog_k = '0' then 1 else 0 end) [ХОЛОСТ],

sum(case when sem_polog_k = '1' then 1 else 0 end) [ЖЕНАТ/ЗАМУЖ],

sum(case when sem_polog_k = '2' then 1 else 0 end) [БР.С РОС.ГРЖ],

sum(case when sem_polog_k = '3' then 1 else 0 end) [БР.РОС.З/РУБ]

from azer where gok='95'

group by gok

Задание 11

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

create procedure zapr11 as

select kat_obucheniya, vsego=COUNT(*)

from azer join kat_obuch on kat_obuch_k=cod

where kat_obuch_k='03'

group by kat_obucheniya

select nazvanie_goroda, vsego=COUNT(*)

from azer

inner join vuz_gorod on cod_vuza=azer.vuz_k

where kat_obuch_k='03'

group by nazvanie_goroda

Задание 12

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

create procedure zapr12 as

SELECT COUNT(nomer) AS 'Всего'

FROM azer

select nazvanie_vuza, [всех]=COUNT(*),

sum(case when gok = '94' then 1 else 0 end) [94г. вып]

from azer join vuz_gorod on (cod_vuza=vuz_k)

group by nazvanie_vuza

Задание 13

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

create procedure zapr13 as

SELECT COUNT(nomer) AS 'Всего'

FROM azer join kat_obuch on (kat_obuch_k=cod)

where kat_obucheniya not in (‘СТУДЕНТ-ЗАОЧНИК',’АСПИРАНТ-ЗАОЧНИК')

select kat_obucheniya, [всех]=COUNT(*)

from azer join kat_obuch on (kat_obuch_k=cod)

where kat_obucheniya not in ('СТУДЕНТ-ЗАОЧНИК’,'АСПИРАНТ-ЗАОЧНИК')

group by kat_obucheniya

Задание 14

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

create procedure zapr14 as

SELECT COUNT(nomer) AS 'Всего' FROM azer

where spec between '0004101' and '000699'

select spec, [всех]=COUNT(*) from azer

where spec between '0004101' and '000699'

group by spec

Задание 15

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

create procedure zapr15 as

SELECT COUNT(*) AS 'Всего' FROM azer

select uch_zavedenie, [всех]=COUNT(*)

from azer join vuz on (vuz_k=cod)

group by uch_zavedenie

Соседние файлы в папке Крамм, Кохов