数据库实验《实验6》_第1页
数据库实验《实验6》_第2页
数据库实验《实验6》_第3页
数据库实验《实验6》_第4页
数据库实验《实验6》_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验名称实验种类

实验6实验地址设计实验学时1实验日期

8-3182018-6-14★撰写注意:版面格式已设置好(不得改正),填入内容即可。一、实验目的掌握系统数据种类的特色和功能。掌握创立、改正表构造的方法。掌握插入、更新和删除表数据的方法。二、实验内容1.查问全部班级的期末成绩均匀分,并依据均匀分降序排序。2.查问教师基本信息和教讲课程信息,此中包含未分派课程的教师信息。3.查问160501班级中选修了“韩荣膺”老师讲解的课程的学生学号、姓名、课程号和期末成绩。4.查问每门课程的课程号、课程名和选修该课程的学生人数,并按所选人数升序排序。5.查问两门及以上课程的期末成绩超出80分的学生姓名及均匀成绩。6.查问入学考试成绩最高的学生学号、姓名和入学成绩。7.查问同时教授c05127号和c05109号课程的教师信息。8.查问起码选修了姓名为“韩吟秋”的学生所选修课程中一门课程的学生学号和姓名。9.查问全部教授c05127号课程的教师信息。10.查问没有被任何学生选修的课程编号、课程名称和学分。11.查问“C语言”课程期末成绩比“电子技术”课程期末成绩高的全部学生的学号和姓名。12.查问全部班级期末均匀成绩的最高分,并将其赋值给变量,经过PRINT语句输出。13.使用游标输出学生姓名、选修课程名称和期末考试成绩。14.使用游标统计每个学院教师所开设课程的选修率。15.使用游标计算学生期末成绩的等级,并更新level列。三、实验环境操作系统:WindowsXP开发软件:SQLServer2008四、提交文档提交本实验报告(电子版),文件名命名:学号姓名《实验X:XXXXXXX》.doc教师将批阅后(有分数)的全体学生实验报告刻入一张光盘存档,保证光盘可读。五、附:源代码1.selectstudentno,AVG(final)as均匀分fromscoregroupbystudentnoorderbyAVG(final)2.select*fromteacherselect*fromstudentselect*fromcourseinsertintocourse(courseno,cname,ctype,period,credit)values('c05103','高等数学','必修',64,select*fromscoreinsertintoscore(studentno,courseno,usually,final)values('','c05103',,insertintoteacher(teacherno,tname,major,prof,department)values('t05001','韩荣膺','软件工程','教授','计算机学院')select*fromclassinsertintoclass(classno,classname,department,monitor)values('160501','计算机','计算机学院','张三')select*fromteach_classinsertintoteach_class(teacherno,classno,courseno)values('t05001','160501','c05103')select*fromteacherselect*fromcourseselect*fromscoreselectclassno,AVG(final)as均匀分fromstudentjoinscoreon=groupbyclassnoorderbyAVG(final)descselectteacher.*,cnamefromteacherleftjointeach_classon=leftjoincourseon=3.select,sname,cname,finalfromstudentjoinscoreon=joincourseon=wherein(selectcoursenofromteach_classjointeacheron=wheretname='韩荣膺')andclassno='090501'4.select,cname,COUNT(studentno)fromscorejoincourseon=groupby,cnameorderbyCOUNT(studentno)desc5.selectsname,AVG(final)fromscorejoinstudenton=wherefinal>=80groupby,snamehavingCOUNT(courseno)>=26.selectstudentno,sname,pointfromstudentwherestudentno=(selecttop1studentnofromstudentorderbypoint)7.select,tname,major,prof,departmentfromteacherjointeach_classon=wherecourseno='c05127'8.selectdistinct,snamefromscorejoinstudenton=wherecoursenoin(selectcoursenofromscorejoinstudenton=wheresname='韩吟秋')andsname!='韩吟秋'9.select*fromteacherwhereteachernoin(selectteachernofromteach_classwherecourseno='c05127')10.selectcourseno,cname,creditfromcoursewherenotexists(select*fromscorewhere=11.select,snamefromscoresc1joinstudenton=joincoursec1on=where='c语言'andexists(select*fromscoresc2joincoursec2on=where='电子技术'and=and>)12.declare@maxnumeric(6,2)select@max=MAX(均匀分)from(selectclassnoas班级号,AVG(final)as均匀分fromscorejoinstudenton=joincourseon=wherefinalisnotnullgroupbyclassno)tprint'全部班级期末均匀成绩的最高分:'+cast(@maxasvarchar(6))13.declare@snamenchar(8),@cnamenchar(10),@finalnumeric(6,2)declaresc_cursorcursorforselectsname,cname,finalfromscorejoinstudenton=joincourseon=opensc_cursorfetchnextfromsc_cursorinto@sname,@cname,@finalprint'学生姓名课程名称期末成绩'print'----------------------------------'while@@FETCH_STATUS=0beginprint@sname+@cname+cast(@finalasnchar(6))fetchnextfromsc_cursorinto@sname,@cname,@finalendclosesc_cursordeallocatesc_cursor14.declare@departmentnchar(30),@numint,@avgfloatdeclarecurcursorstaticforselectdepartment,count(*)as'选修课数'fromclasswherein(selectfromstudentgroupbyclassno)groupbydepartmentopencurfetchcurinto@department,@numset@avg=@num/(selectCOUNT(*)fromclasswheredepartment=@department)print@departmentprint@avgwhile@@FETCH_STATUS=0beginfetchnextfromcurinto@department,@numset@avg=@num/(selectCOUNT(*)fromclasswheredepartment=@department)print@departmentprint@avgendclosecurdeallocatecur15.declare@snamenchar(30),@cnamenchar(30),@finalfloatdeclarestucursorstaticforselectsname,final,cnamefromstudent,score,coursewhere=and=openstufetchstuinto@sname,@final,@cnameif@final>=90printN'优'+@sname+@cnameelseif@final>=80and@final<90printN'良'+@sname+@cnameelseif@final>=70and@final<80printN'中'+@sname+@cnameelseif@final>=60and@final<70printN'及'+@sname+@cnameelseif@final<60printN'差'+@sname+@cnamewhile@@FETCH_STATUS=0beginfetchnextfromstuinto@sname,@final,@cnameif@final>=90printN'优'+@sname+@cname

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论