文档库

最新最全的文档下载
当前位置:文档库 > 09实训指导书(修改版答案)

09实训指导书(修改版答案)

MySQL数据库原理与应用

实训九操作指导书

1、实训目标:

1)使用order by子句进行查询结果排序

2)使用group by子句进行查询结果分组计算

2、实训任务:

1) 掌握order by子句进行查询结果排序

2) 掌握group by子句进行查询结果分组计算

3、实训指导

●教材例题

1)在数据库D_sample中查询course表中开课学期按照升序排列的课程信

息。

Select * from course order by 开课学期;

2)在数据库D_sample中查询sc表中选修了“07003”课程的学生成绩,成绩

按降序进行排序。

3)在数据库D_sample中统计student表中学生的男女人数。

Select 性别, count(*) as人数from student group by 性别;

4)在数据库D_sample中统计student表中每个民族的男女人数、总人数,

以及学生总人数。

Select 民族,性别, count(*) as人数from student group by 民族,性别

with rollup;

5)在数据库D_sample中查询sc表中平均成绩在85分以上的课程号。

Select 课程号, avg(成绩) as 平均分from sc group by 课程号

Having avg(成绩)>85;

●查询练习题(通过上机练习将运行结果写到作业本上)

1)查询课程信息,按课程名称升序排序。

Select CourseInfoName from CourseInfo order by CourseInfoName;

09实训指导书(修改版答案)

2)查询学生信息,按姓名升序排序,再按班级信息ID降序排序。

Select StdInfoName,ClassInfoID from studentinfo,classinfo

order by StdInfoName and ClassInfoID desc;

09实训指导书(修改版答案)

3)查询课程总数。

Select count(*) as 课程总数from CourseInfo;

09实训指导书(修改版答案)

4)查询教师信息表中教师职称为副教授的教师人数。

Select count(*) as 副教授人数from TeachInfo where TeachInfoTitle='副教授';

09实训指导书(修改版答案)

5)通过学生选课表按照学生信息ID分组统计每个同学的平时成绩总分。

Select StdInfoID, sum(StudCourseUsuGrd) as 平时总成绩from StudentCourse group by StdInfoID;

09实训指导书(修改版答案)

6)查询学生信息ID为5的同学选修课程的数量、平时总分以及平时平均分。

Select StdInfoID, count(*) as 选课数量,

sum(StudCourseUsuGrd) as平时总成绩,

avg(StudCourseUsuGrd) as平时平均成绩

from StudentCourse

where StdInfoID='5';

09实训指导书(修改版答案)

7)查询教师信息表中,教师人数大于10的学历信息。

select count(*) as人数, TeachInfoKnowl from TeachInfo

group by TeachInfoKnowl having count(*)>10;

09实训指导书(修改版答案)

8)查询1989年以后出生的学生的学号姓名、性别和出生日期,结果按年龄

从小到大排序。

Select StdInfoName,StdInfoSex,StdInfoBirthD from StudentInfo

Where year(StdInfoBirthD)>1989 order by StdInfoBirthD desc,StdInfoID;

09实训指导书(修改版答案)

9)查询1989年以后出生的学生的学号姓名、性别和出生日期,结果按年龄

从小到大排序,当年龄相同时,按先女生后男生排序。

Select StdInfoName,StdInfoSex,StdInfoBirthD from studentInfo

Where year(StdInfoBirthD)>1989

order by StdInfoBirthD desc,StdInfoSex ,StdInfoID;

09实训指导书(修改版答案)

10)查询班级信息表中各班级人数。

Select ClassInfoName ,ClassInfoSum from ClassInfo;

09实训指导书(修改版答案)

11)查询教师表中教师专业为“电气自动化”的各种学历的人数。

Select TeachInfoKnowl, count(*) as 教师人数from TeachInfo

Where TeachInfoSpec='电气自动化'

group by TeachInfoKnowl;

09实训指导书(修改版答案)

12)统计出1989年以后出生的各班级学生男女各多少人。

Select ClassInfoID as 班级, StdInfoSex as 性别,count(*) as 人数from classinfo,studentInfo

where year(StdInfoBirthD)>1989

group by ClassInfoID, StdInfoSex;

09实训指导书(修改版答案)

13)统计出1990年以后出生的各班级学生男女各多少人,要求要有汇总行。select ClassInfo as 班级, StdInfoSex as 性别,count(*) as 人数from studentInfo

where year(StdInfoBirthD)>=1990

group by StdInfoSex desc,ClassInfo

with rollup;

09实训指导书(修改版答案)

14)统计人数在10人以上的民族。

Select StdInfoNatns, count(*) as 人数from studentInfo

Group by StdInfoNatns having count(*)>10;

09实训指导书(修改版答案)

4、实训报告:

填写07_实训报告.doc,按实训报告中的命名要求重新命名。实训报告要上交老师,作为实训成绩的依据。

5、课外作业

将第三部分实训指导中的“数据表查询练习题”中的代码保存为文本文档再将代码写到作业本上。