数据库实验三 下载本文

《数据库管理系统》实验报告

2011/2012学年第2学期

实验项目 : 数据库实验(三) 班 级 : 信息管理101 学 生 : 陈凯 (学号 209100721 ) 地 点 : 经管院A 实验室 机 器 号 : 指导教师 : 夏 勇 时 间 : 2012 年 5 月 12 日

经济管理学院信息管理教研室

实验要求:

将实验成果文件压缩,以<班级>_<学号>_<实验X>.RAR文件形式交付指导老师,需包含对作品的说明文件。 1.记录实验内容

2.总结分析实验中的收获心得

教师 评语 实验一:_______________________________________________ 1、 实验内容和步骤:(写出实验主要内容和关键步骤及完成情况以及出现问题

及解决方案,记录关键屏幕截图。)

1. 列出所有不姓刘的所有学生;

2. 列出姓?沈?且全名为3个汉字的学生;

3. 显示在1985年以后出生的学生的基本信息;

4. 按照?性别、学号、姓名、年龄、院系?的顺序列出学生信息,其中性别按

以下规定显示:性别为男显示为男 生,性别为女显示为女 生,其他显示为?条件不明?;(提示:Select case 性别 when ‘’then ‘’else ‘’ end )

5. 查询出课程名含有?数据?字串的所有课程基本信息;

6. 显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性

别、年龄及院系;

7. 列出选修了‘1’课程的学生,按成绩的降序排列;

8. 列出同时选修?1?号课程和?2?号课程的所有学生的学号;

9. 列出课程表中全部信息,按先修课的升序排列;

10. 列出年龄超过平均值的所有学生名单,按年龄的降序显示;

11. 按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在

结果集中列标题分别指定为?学号,姓名,性别,出生年份,院系?;

12. 按照院系降序显示所有学生的 ?院系,学号、姓名、性别、年龄?等信息,

其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;

13. 显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段

?院系规模?,其中若该院系人数>=5则该字段值为?规模很大?,若该院系人数大于等于4小于5则该字段值为?规模一般?, 若该院系人数大于等于2小于4则该字段值为?规模稍小?,否则显示?规模很小?;

14. 按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及

成绩;

15. 显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为

?学生总人数,平均年龄?;

16. 显示选修的课程数大于3的各个学生的选修课程数;

17. 按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;

18. 显示平均成绩大于?200515001?学生平均成绩的各个学生的学号、平均成

绩;

19. 显示选修各个课程的及格的人数、及格比率;

20. 显示选修课程数最多的学号及选修课程数最少的学号;

21. 显示各个院系男女生人数,其中在结果集中列标题分别指定为?院系名称、

男生人数、女生人数?;

22. 列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;

23. 查询倒数第2个字符为‘系’的课程的详细情况;

24. 查询名字中第2个字为‘向’的学生姓名和学号及选修的课程号、课程名;

25. 列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修

课程号及成绩;

26. 查询缺少成绩的所有学生的详细情况;

27. 查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;

28. 按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。

其中已修学分为考试已经及格的课程学分之和;

29. 列出只选修一门课程的学生的学号、姓名、院系及成绩;

30. 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;

31. 只选修“数据库”和“数据结构”两门课程的学生的基本信息;

32. 至少选修“数据库”或“数据结构”课程的学生的基本信息;

33. 列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩;

34. 查询只被一名学生选修的课程的课程号、课程名;

35. 检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;

36. 使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;

37. 使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和

院系;

38. 使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;

39. 分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;

40. 使用集合查询列出CS系的学生以及性别为女的学生名单;

41. 使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;

42. 使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集;

(以下选做)

43. 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成

绩;

44. 思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库

数据结构 数学);

2、实验总结:

实验三总结

在本次实验中主要涉及对数据库中数据的检索!实验中我收获很多,学会了很多使用的函数,例如sum函数、max函数、min函数、avg函数、count函数、case条件语句等等,同时对数据库语句检索的格式也有了一定的了解。

实验中的难题很多,从同学那里我学会了使用substring函数。在第31题和35题也遇到了问题,同学也不会,于是我就请教老师,在老师的认真帮助下,我顺利完成了作业,虽然自己完成了作业,但是还是觉得自己知识的不足,自己还不能完全理解SQL语句,不能

够运用自如!同时深感SQL语句功能之强大,希望老师在日后的学习生活中多给我们指导,多帮助我们!