T-SQL练习题参考答案.doc

T-SQL练习题参考答案.doc

ID:50189895

大小:35.50 KB

页数:4页

时间:2020-03-06

T-SQL练习题参考答案.doc_第1页
T-SQL练习题参考答案.doc_第2页
T-SQL练习题参考答案.doc_第3页
T-SQL练习题参考答案.doc_第4页
资源描述:

《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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。