欢迎来到天天文库
浏览记录
ID:50189895
大小:35.50 KB
页数:4页
时间:2020-03-06
《T-SQL练习题参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、StudentInfo数据库已发给大家。其中包含两个表:stuInfo和stuMarks。根据这个数据库完成下列各题:1.编写T-SQL查找李文才的左右同桌?分析:第一步,找出“李文才“的座位号;第二步,李文才的座位号加1或减1/*--查找李文才的信息--*/DECLARE@namevarchar(8)--学员姓名SET@name='李文才'--使用SET赋值SELECT*FROMstuInfoWHEREstuName=@name/*--查找李文才的左右同桌--*/DECLARE@seatint--座位号SELECT@seat=st
2、uSeatFROMstuInfo--使用SELECT赋值WHEREstuName=@nameSELECT*FROMstuInfoWHERE(stuSeat=@seat+1)OR(stuSeat=@seat-1)GO2.统计并显示本班笔试平均分,如果平均分在70以上,显示“成绩优秀“,并显示前三名学员的考试信息;如果在70以下,显示“本班成绩较差“,并显示后三名学员的考试信息。分析:第一步,统计平均成绩存入临时变量;第二步,用IF-ELSE判断;declare@myavgfloatselect@myavg=avg(writtenExam)
3、fromstuMarks--使用select赋值print'本班的平均分:'+convert(varchar(5),@myavg)if(@myavg>70)beginprint'本班笔试成绩优秀!'selecttop3*fromstuMarksorderbywrittenExamdescendelsebeginprint'本班笔试成绩优秀!'selecttop3*fromstuMarksorderbywrittenExamendgo3.本次笔试成绩较差,假定要提分,确保每人笔试都通过。提分规则很简单,先每人都加2分,看是否都通过,如果没
4、有全部通过,每人再加2分,再看是否都通过,如此反复提分,直到所有人都通过为止。分析:第一步,统计没通过的人数;第二步,如果有人没通过,加分;第三步,循环判断。declare@nintwhile(1=1)--条件永远成立beginselect@n=count(*)fromstuMarkswherewrittenExam<60--统计不及格人数if(@n>0)updatestuMarkssetwrittenExam=writtenExam+2--每人加2分elsebreak--退出循环endprint'加分后的成绩如下:'select*fr
5、omstuMarks4.请根据平均分和以下评分规则,编写T-SQL语句查询学员的成绩。优:90分以上良:80-89分中:70-79分差:60-69分不及格:60分以下SELECT考号=ExamNo,学号=stuNo,笔试=writtenExam,机试=labExam,平均分=(writtenExam+labExam)/2,等级=CASEWHEN(writtenExam+labExam)/2<60THEN'不及格'WHEN(writtenExam+labExam)/2BETWEEN60AND69THEN'差'WHEN(writtenExa
6、m+labExam)/2BETWEEN70AND79THEN'中'WHEN(writtenExam+labExam)/2BETWEEN80AND89THEN'良'ElSE'优'ENDFROMstuMarks二、用T-SQL语句写一个求两个数的最大值的函数createfunctionmax2(@par1real,@par2real)returnsrealasbegindeclare@parrealif@par1>@par2set@par=@par1elseset@par=@par2;return@parendGo三、P248(4)decl
7、are@ssexchar(2)declareCur_XScursorforselect性别from学生表forupdateof年龄openCur_XSfetchnextfromCur_XSinto@ssexwhile(@@fetch_status=0)beginif(@ssex='女')deletefrom学生表wherecurrentofCur_XSelseupdate学生表set年龄=年龄+1wherecurrentofCur_XSfetchnextfromCur_XSinto@ssexendcloseCur_XSdeallocat
8、eCur_XSgoselect*from学生表go
此文档下载收益归作者所有