数据库的分组查询和统计查询
名:                号:              专业班级:     
课程名称: 数据库原理与应用  实验名称:数据库的分组查询和统计查询 实验日期:                   
同组人员:        指导教师:    得分               
一、实验目的
分组名称大全
1.熟练掌握数据查询中的分组、统计的操作方法。
二、实验内容
    使用分组计算查询、统计查询
2. 分组查询
(1)查询各系的学生的人数并按人数从多到少排序 :
select sdept, Count(*) as 人数 from student group by sdeptorder by 人数 desc
(2)查询各系的男女生学生总数, 并按系别,升序排列, 女生排在前:
select sdept,ssex,Count(*) as 人数 from student group by sdept, ssex order by sdept,ssex desc
(3)查询选修了2门课程以上的学生的学号和姓名:
select sno, sname from student where sno in (select sno from sc group by (sno) having count(*)>2)
(4)查询每个学生所选课程的平均成绩, 最高分, 最低分,和选课门数:
select sno, avg(grade) as 平均成绩,max(grade) as 最高分, min(grade) as 最低分, count(*) as 选课门数 from sc group by sno
(5)查询至少选修了2门课程的学生的平均成绩:
select sno, avg(grade) as 平均成绩, from sc group by sno having count(*)>=2
(6)查询平均分超过70分的学生的学号和平均分:
select sno, avg(grade) as 平均成绩from sc group by sno having avg(*)>=70
(7)查询”信息系”(IS)中选修了4门课程以上的学生的学号:
select sno from sc where sno in (select sno from student where sdept='IS') group by sno having count(*)>=4
2. 统计查询
S(C#,SN,Sex,Age,Dept)
C(C#,SN,Teacher)
SC(S#,C#,Grade,Credit)
(1)查询不同性别的人数:
Select 性别=sex,人数=count(*) from stu group by sex
(2)查询选修了S#的人数和学号:
select 学号=s#,门数=count(*) from sc group by s# 
(3)查询在SC中Create>=8的S#:
select S# from SC group by S# having Sun (Credit)>=8
(4)统计性别人数:
select count (*) from stu group by sex
(2)统计地方人数#:
select count (*) from stu group by address
(2)统计地区大雨3人的刷选出来:
select count (*) from stu group by address having count(*) >= 3
三、心得体会小结
    通过本次实验学习了数据库的分组查询和统计查询,熟练掌握数据查询中的分组、统计、计算和集合的操作方法,颇完整的学习了这些系列的查询方式,对查询更深的了解和强化了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。