Ex19.1
- 导入school_DB数据库,做以下操作:
(1)全校开设了多少个专业,信息技术学院开设有几个专业。
(2)统计哪些部门开办有专业,各开设有多少个专业。
(3)统计2022级各专业各有多少个班。
(4)统计系统中超过30人的班级及人数。
(5)统计系统中2022级2022-2023-1学期各专业开出了几门课,总学时多少,平均课程学时多少,最多(小)学时多少。
#(1)全校开设了多少个专业,信息技术学院开设有几个专业。
SELECT * FROM majors;
SELECT COUNT(*) FROM majors;
SELECT COUNT(*) FROM majors WHERE departid=3;
#(2)统计哪些部门开办有专业,各开设有多少个专业。(知识点:GROUP BY分组查询, P81-82)
SELECT departid,COUNT(*) FROM majors GROUP BY departid;
#(3)统计2022级各专业各有多少个班。
SELECT majorid,COUNT(*) FROM mclasss WHERE grade='2022' GROUP BY majorid;
#(4)统计系统中超过30人的班级及人数。(知识点:GROUP BY ...HAVING, P83)
SELECT mclassid,COUNT(sno) count_s FROM students GROUP BY mclassid HAVING count_s>30;
#(5)统计系统中2022级2022-2023-1学期各专业开出了几门课,总学时多少,平均课程学时多少,最多(小)学时多少。
SELECT courseid,SUM(thour),AVG(thour),MIN(thour)
FROM major_grade_term_courses
WHERE grade='2022' AND term='2022-2023-1' GROUP BY courseid;