文档详情

SQL Server数据库 复习提要(B信管091).doc

发布:2018-04-20约3.34千字共3页下载文档
文本预览下载声明
五.按要求写出相应的SQL语句(每题2分,共20分) 设有如下关系表: student(sid char(8),sname char(10),ssex char(2),height real,sage datetime,stl int) course(cid char(4),cname char(10),credit int) result(sid char(8),cid char(4),score int ) 注:sid为学号(09表示入学时间,04表示学院代号,01表示班级代号,05表示学号),sname为姓名,ssex为性别(‘男’,‘女’), height 为身高,sage为出生年月,stl表示高考总分; cid为课程号,cname为课程名称,credit为学分; score为课程成绩。 写出实现下列功能的SQL 语句。 (1)创建一个新的表totalgrade,具有数据列:sid,sname,sscore Create table totalgrade(sid char(8),sname char(10),sscore int) (2)在student中插入一条记录(,’王鸿路’,’03/21/93’); Insert into student (sid,sname,sage) values(,’王鸿路’, ’03/21/93’) (3)通过student表,更新totalgrade表的列数据; Insert into totalgrade Select sid,sname,stl from student (4)将result表中学号为的学生,课程号为“0102”的分数改为94; Update result set score = 94 Where sid= and cid=‘1020’ (5)通过result表更新totalgrade表的总成绩sscore Update totalgrade set sscore= (select sum(score) from result where totalgrade.sid=result.sid ) (6)删除totalgrade表中总成绩sscore低于400分的学生记录 Delete from totalgrade where sscore 400 (7)在student表中查询学号同学的姓名和年龄 Select sname, datepart(yy,getdate())-datepart(yy,sage) from student where sid= (8)在student表中查询与“刘伟平”年龄相同的所有学生的学号、姓名 Select sid,sname from student where sage= (select sage from student where sname=‘刘伟平’) (9)列出班级为03的学生中高考总分比班级为02的学生都高的学生的sid,sname,stl Select sid, sname,stl from student where substr(sid,5,2)=‘03’ and stlall (select stl from student where substr(sid,5,2)=‘02’) (10)查询选修“计算机基础”课程分数在80—90之间的学生的学号、姓名、课程名称、分数 Select student.sid , student.sname,course.cname,result.score From student,course,result Where student.sid=result.sid and course.cid=result.cid and course.cname=’计算机基础’ and result.score between 80 and 90 六、程序填空(每空2分,共20分) (主要是关于完整性约束、游标、存储过程、触发器) 1.利用T-SQL语言修改student 的表,为学号sid列定义主键,为高考总分stl列定义约束“0-500”分。 alter table student( add Constraint pk_s primary key ( ‘sid ’ ) add Constraint ck_stl check ( stl between 0 and 500 )) 2. 以下程序用游标gd_cur查寻并显示studentsdb数据库的grade表的每条记录,且判断出每条记录的分数等
显示全部
相似文档