资源描述:
《SQL Server数据库 复习提要(B信管091)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、五.按要求写出相应的SQL语句(每题2分,共20分)设有如下关系表:student(sidchar(8),snamechar(10),ssexchar(2),heightreal,sagedatetime,stlint)course(cidchar(4),cnamechar(10),creditint)result(sidchar(8),cidchar(4),scoreint)注:sid为学号(如09040105,09表示入学时间,04表示学院代号,01表示班级代号,05表示学号),sname为姓名
2、,ssex为性别(‘男’,‘女’),height为身高,sage为出生年月,stl表示高考总分;cid为课程号,cname为课程名称,credit为学分;score为课程成绩。写出实现下列功能的SQL语句。(1)创建一个新的表totalgrade,具有数据列:sid,sname,sscoreCreatetabletotalgrade(sidchar(8),snamechar(10),sscoreint)(2)在student中插入一条记录(’09010619’,’王鸿路’,’03/21/93’);I
3、nsertintostudent(sid,sname,sage)values(‘09010619’,’王鸿路’,’03/21/93’)(3)通过student表,更新totalgrade表的列数据;InsertintototalgradeSelectsid,sname,stlfromstudent(4)将result表中学号为“09030805”的学生,课程号为“0102”的分数改为94;Updateresultsetscore=94Wheresid=‘09030805’andcid=‘1020’(
4、5)通过result表更新totalgrade表的总成绩sscoreUpdatetotalgradesetsscore=(selectsum(score)fromresultwheretotalgrade.sid=result.sid)(6)删除totalgrade表中总成绩sscore低于400分的学生记录Deletefromtotalgradewheresscore<400(7)在student表中查询学号为09040302的同学的姓名和年龄Selectsname,datepart(yy,get
5、date())-datepart(yy,sage)fromstudentwheresid=’09040302’(8)在student表中查询与“刘伟平”年龄相同的所有学生的学号、姓名Selectsid,snamefromstudentwheresage=(selectsagefromstudentwheresname=‘刘伟平’)(9)列出班级为03的学生中高考总分比班级为02的学生都高的学生的sid,sname,stlSelectsid,sname,stlfromstudentwheresubst
6、r(sid,5,2)=‘03’andstl>all(selectstlfromstudentwheresubstr(sid,5,2)=‘02’)(10)查询选修“计算机基础”课程分数在80—90之间的学生的学号、姓名、课程名称、分数Selectstudent.sid,student.sname,course.cname,result.scoreFromstudent,course,resultWherestudent.sid=result.sidandcourse.cid=result.cidand
7、course.cname=’计算机基础’andresult.scorebetween80and90六、程序填空(每空2分,共20分)(主要是关于完整性约束、游标、存储过程、触发器)1.利用T-SQL语言修改student的表,为学号sid列定义主键,为高考总分stl列定义约束“0-500”分。altertablestudent(addConstraintpk_sprimarykey(‘sid’)addConstraintck_stlcheck(stlbetween0and500))2.以下程序用游标
8、gd_cur查寻并显示studentsdb数据库的grade表的每条记录,且判断出每条记录的分数等级是优秀、良好、及格还是不及格,将等级显示在每条记录的末尾。Declare@sidchar(8),@cidvarchar(10),@scrnumeric(5,2)Declaregd_curcursorForselect学号,课程号,分数fromgradeOpengd_curFetchfromgd_curinto@sid,@cid,@scrWhile@@fetch_stat