Задание 7
Выдать статистику по годам окончания учебы учащихся вашего государства. Отчет должен начинаться с соответствующего заголовка и цифры - общего количества записей по запросу. Далее таблица, включающая перечень годов окончания с цифрами, не равными нулю.
Запросы:
Вариант 1 (в диалоговом SQL)
SELECT COUNT(*) AS 'Количество окончивших учебные заведения за все года'
FROM arm
go
SELECT gok AS 'Год', COUNT(*) AS 'Количество окончивших'
FROM arm
GROUP BY gok
ORDER BY gok
Вариант 2 (с помощью хранимой процедуры)
CREATE PROCEDURE lab5_p7 AS
BEGIN
SELECT COUNT(*) AS 'Количество окончивших учебные заведения за все года'
FROM arm
SELECT gok AS 'Год', COUNT(*) AS 'Количество окончивших'
FROM arm
GROUP BY gok
ORDER BY gok
END
Результаты:
Вариант 1 (в диалоговом SQL)
Вариант 2 (с помощью хранимой процедуры)
Задание 8
Выдать статистику по категориям обучения учащихся вашего государства только прием 1991 года. Отчет должен начинаться заголовком и цифрой - общим количеством записей по запросу (по приему 91-го года). Далее таблица, включающая перечень категорий обучения с цифрами, не равными нулю.
Запросы:
Вариант 1 (в диалоговом SQL)
SELECTcount(*)AS'Всегопоступило в 91 г'
FROMarm
WHEREgp='91'
go
SELECTkat_obucheniyaAS'Категорияобучения',count(*)AS'Кол-во'
FROMarm
JOINkat_obuchONkat_obuch.cod=kat_obuch_k
WHEREgp='91'
GROUPBYkat_obucheniya
Вариант 2 (с помощью хранимой процедуры)
CREATEPROCEDURElab5_p8(@yearCHAR(2))AS
BEGIN
SELECTcount(*)AS'Всегопоступило'
FROMarm
WHEREgp=@year
SELECTkat_obucheniyaAS'Категорияобучения',count(*)AS'Кол-во'
FROMarm
JOINkat_obuchONkat_obuch.cod=kat_obuch_k
WHEREgp=@year
GROUPBYkat_obucheniya
END
Результаты:
Вариант 1 (в диалоговом SQL)
Вариант 2 (с помощью хранимой процедуры)
Задание 9
Выдать статистику по вашему государству по следующим специальностям: 0401 , 0402, 0403 и 0405 (общее число по каждой специальности), а также количества мужчин и женщин по каждой из этих специальностей. Отчет должен начинаться с соответствующего заголовка. Далее таблица из четырех строчек, где каждая строчка включает шифр специальности и 3 цифры: всего, количество мужчин и количество женщин.
Запросы:
Вариант 1 (в диалоговом SQL)
SELECT
specAS'Специальность',
count(*)AS'Общеечисло',
sum(CASEWHEN pol = 'М' THEN 1 ELSE 0 END)AS'Мужчины',
sum(CASEWHEN pol = 'Ж' THEN 1 ELSE 0 END)AS'Женщины'
FROMarm
WHEREspecIN('000401', '000402', '000403', '000405')
GROUPBYspec
ORDERBYspec
Вариант 2 (с помощью хранимой процедуры)
CREATEPROCEDURElab5_p9AS
BEGIN
SELECT
specAS'Специальность',
count(*)AS'Общеечисло',
sum(CASEWHEN pol='М'THEN 1 ELSE 0 END)AS'Мужчины',
sum(CASEWHEN pol = 'Ж' THEN 1 ELSE 0 END)AS'Женщины'
FROMarm
WHEREspecIN('000401','000402','000403','000405')
GROUPBYspec
ORDERBYspec
END
Результаты:
Вариант 1 (в диалоговом SQL)
Вариант 2 (с помощью хранимой процедуры)