数据库实验《实验6》 下载本文

内容发布更新时间 : 2025/1/4 0:01:26星期一 下面是文章的全部内容请认真阅读。

实验名称 实验6 实验类型 设计 实验地点 实验学时 1 实验日期 8-318 2018-6-14 ★ 撰写注意:版面格式已设置好(不得更改),填入内容即可。 一、 实验目的 1. 掌握系统数据类型的特点和功能。 2. 掌握创建、修改表结构的方法。 3. 掌握插入、更新和删除表数据的方法。 二、 实验内容 1.查询所有班级的期末成绩平均分,并按照平均分降序排序。 2.查询教师基本信息和教授课程信息,其中包括未分配课程的教师信息。 3.查询160501班级中选修了“韩晋升”老师讲授的课程的学生学号、姓名、课程号和期末成绩。 4.查询每门课程的课程号、课程名和选修该课程的学生人数,并按所选人数升序排序。 5.查询两门及以上课程的期末成绩超过80分的学生姓名及平均成绩。 6.查询入学考试成绩最高的学生学号、姓名和入学成绩。 7.查询同时教授c05127号和c05109号课程的教师信息。 8.查询至少选修了姓名为“韩吟秋”的学生所选修课程中一门课程的学生学号和姓名。 9.查询所有教授c05127号课程的教师信息。 10.查询没有被任何学生选修的课程编号、课程名称和学分。 11.查询“C语言”课程期末成绩比“电子技术”课程期末成绩高的所有学生的学号和姓名。 12.查询所有班级期末平均成绩的最高分,并将其赋值给变量,通过PRINT语句输出。 13.使用游标输出学生姓名、选修课程名称和期末考试成绩。 14.使用游标统计每个学院教师所开设课程的选修率。 15.使用游标计算学生期末成绩的等级,并更新level列。 三、 实验环境 1. 操作系统:Windows XP 2. 开发软件:SQL Server 2008 四、 提交文档 提交本实验报告(电子版),文件名命名:学号 姓名《实验X:XXXXXXX》.doc 教师将批阅后(有分数)的全体学生实验报告刻入一张光盘存档,保证光盘可读。 五、 附:源代码 1. select studentno,AVG(final) as 平均分 from score group by studentno order by AVG(final) 2. select * from teacher select * from student select * from course insert into course(courseno,cname,ctype,period,credit) select * from score insert into score(studentno,courseno,usually,final) insert into teacher(teacherno,tname,major,prof,department) select * from class insert into class(classno,classname,department,monitor) select * from teach_class insert into teach_class(teacherno,classno,courseno) select * from teacher select * from course select * from score select classno,AVG(final) as 平均分 from student join score select teacher.*,cname from teacher left join teach_class 3. select student.studentno,sname,cname,final from student join score on student.studentno=score.studentno join course on course.courseno=score.courseno where score.courseno in ( on teacher.teacherno=teach_class.teacherno left join course on teach_class.classno=course.courseno on student.studentno=score.studentno group by classno order by AVG(final) desc values('t05001','160501','c05103') values('160501','计算机','计算机学院','张三') values('t05001','韩晋升','软件工程','教授','计算机学院') values('16122210009','c05103',87.00,82.00) values('c05103','高等数学','必修',64,4.0) 2

4. ) select courseno from teach_class join teacher on teach_class.teacherno=teacher.teacherno where tname='韩晋升' and classno='090501' select course.courseno,cname,COUNT(studentno) from 5. select sname,AVG(final) from score join student on 6. select studentno,sname,point from student where 7. select teacher.teacherno,tname,major ,prof,department from 8. select distinct student.studentno,sname from score 9. select * from teacher where teacherno in 10. select courseno,cname,credit from course where not exists( select * from score where score.courseno=course.courseno) ( ) select teacherno from teach_class where courseno='c05127' join student on score.studentno=student.studentno where courseno in ( ) and sname!='韩吟秋' select courseno from score join student on score.studentno=student.studentno where sname='韩吟秋' teacher join teach_class on teacher.teacherno=teach_class.teacherno where courseno='c05127' studentno=(select top 1 studentno from student order by point) score.studentno=student.studentno where final>=80 group by student.studentno,sname having COUNT(courseno)>=2 score join course on score.courseno=course.courseno group by course.courseno,cname order by COUNT(studentno) desc 3