SQLServer试题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

**学院课程考试试卷课程名称:《SQLServer:数据库设计和高级查询》(A)卷年级:班级:姓名:_______________学号:_________________考试(考查)闭卷题号1-2021-4041-50总分分数1.判断下列T-SQL语句的执行结果()select@x=1,@y=2,@z=3if@x@yprint'xy'--打印字符串'xy'elseif@z@xprint'zx'elseif@y@zprint'yz'elseprint'zy'A.xyB.zxC.yzD.zy2.判断下列T-SQL语句执行后输出的最后一个数字是()declare@xint,@yint,@cintselect@x=1,@y=1while@x3beginprint@x--打印变量x的值while@y3beginselect@c=100*@x+@yprint@c--打印变量c的值select@y=@y+1endselect@x=@x+1select@y=1endA.101B.201C.102D.2023.有关存储过程的参数默认值,说法正确的是()A.输入参数必须有默认值B.带默认值的输入参数,方便用户调用C.带默认值的输入参数,用户不能再传入参数D.输出参数也可以带默认值4.有关子查询和联接查询的说法,错误的是()A.子查询一般可以代替联接查询B.联接查询能代替所有的子查询,所以一般优先采用子查询C.如果需要显示多表数据,优先考虑联接查询D.如果只是需要作为查询的条件部分,一般考虑子查询5.第二范式确保()A.每列的原子性B.每列都与主键有关C.每列都和主键列直接相关D.每列都不能再拆分6.给自定义变量赋值时,如果数据来源于表中的某一列,应采用()方式。A.selectB.printC.setD.update7.语句:ifnotexists(select*fromstuMarkswherewrittenExam60orlabExam60)updatestuMarkssetwrittenExam=writtenExam+3,labExam=labExam+3执行后的效果是()A.如果笔试或机试成绩有一项有人超过60分,则每人的笔试和机试成绩加3分B.如果笔试或机试成绩都有人超过60分,则每人的笔试和机试成绩加3分C.如果笔试或机试成绩有一项没人超过60分,则每人的笔试和机试成绩加3分D.如果笔试或机试成绩没有一人超过60分,则每人的笔试和机试成绩加3分--------------------------------------装--------------------------------------订------------------------------线----------------------------------------8.以ABCDE五级打分来显示笔试成绩1select学号=stuNo,成绩=case2whenwrittenExam60then‘E’3whenwrittenExambetween60and69then‘D’4whenwrittenExambetween70and79then‘C’5whenwrittenExambetween80and89then‘B’6else‘A’7end8fromstuMarks下列正确的说法是()A.没有语法问题,可以正常执行B.第1行不能用等号,语法有误C.第6行语法有误D.第7行“end”可以不写9.查询没有参加考试的学员名单,下列正确的是()A.selectstNamefromstuInfowherestNoin(selctestNofromstuMarks)B.selectstNamefromstuInfowherestNonotin(selctestNofromstuMarks)C.selectstNamefromstuInfowherestNoexists(selctestNofromstuMarks)D.selectstNamefromstuInfowherestNonotexists(selctestNofromstuMarks)10.关于错误信息的处理,说法错误的是()A.一般可以用print显示错误信息B.可以用raiserror语句显示错误信息C.在raiserror语句中,错误信息可以用户自己设定D.raiserror语句只用于显示错误,不能更改系统变量@@error的值11.在sqlserver2008中,与以下T-SQL等效的是()Updatetitlessetprice=price*1.05wherepub_idin(selectpub_idfrompublishers)A.Updatetitlessetprice=price*1.05whereexists(selectpub_idfrompublishers)B.Updatetitlessetprice=price*1.05fromtitleswherepub_idinpublishers.pub_idC.Updatetitlessetprice=price*1.05wheretitles.pub_id=publishers.pub_idD.Updatetitlessetprice=price*1.05fromtitlesinnerjoinpublishersontitles.pub_id=publishers.pub_id12.Sqlserver2008中,已知执行语句:Selectcount(score),sun(score)fromscore返回的结果是5和750,那么执行语句:Selectavg(score)fromscore,返回的结果是()A.5B.150C.1500D.75013.在SqlServer2008数据库中,使用T-SQL编程时,下列()语句可以从WHILE语句块中退出。[选两项]A.CONTINUEB.EXITC.BREAKD.RETURN14.在SQLServer2008数据库中运行以下T-SQL语句,将输出()CREATETABLEMy_Table(aintNULL,bintNULL)GOCREATETRIGGERmy_trigONMy_TableFORINSERTASIFUPDATE(b)PRINT‘更新’GOINSERTMy_Tablevalues(3,4)GOUPDATEMy_TableSETa=5WHEREb=4GOA.更新时间B.更新C.不打印任何信息D.以上代码将出现运行错误而中断15.在SQLServet2008中,执行以下的T-SQL,若能找到title_id为“tc2”的记录,将()begintransacitonifexists(selecttitle_idfromtitleswheretitle_id=’tc2’)begindeletetitleswheretitle_id=’tc2’rollbacktransactionprint’OK’end--------------------------------------装--------------------------------------订------------------------------线----------------------------------------A.删除该记录行,不打印任何信息B.不删除该记录行,并且打印OKC.删除该记录行,并且打印OKD.不删除该记录行,也不打印任何信息16.在SQLServer2008中,有Products(产品)表,包含字段Pname(产品名称)、Price(价格)。若要得到最贵产品的产品名称和产品价格,应该使用的查询语句有()[选两项]A.SELECTTOP1Pname,PriceFROMProductsORDERBYPriceB.SELECTPname,MAX(Price)FROMProductsC.SELECTPname,MAX(Price)FROMProductsGROUPBYPnameD.SELECTPname,PriceFROMProductsWHEREPrice=(SELECTMAX(Price)FROMProducts)17.在SQLServer2008中,分析下面的存储过程,执行后的结果是()CREATEProcedurelookup(@aint)ASIF@aisnullBeginPrint‘缺少参数’RETURNEndSelect*fromsysobjectswhereid=@aRETURNGoEXECUTElookupA.该存储过程会打印“缺少参数”B.该存储过程会基于无参数情况做一个查找,返回表中的所有行C.该存储过程有语法错误D.数据库服务器会打印一条消息,提示该存储过程需要提供一个参数18.SqlServer2008中已知有表,表中共有10条status列值为0的记录,创建视图:CREATEVIEWview1ASselect*fromstudentwherestatus=0视图创建成功后,执行如下命令:Updateview1setstatus=1Select*fromview1命令执行的结果是()A.错误提示:不能对视图执行更新操作B.错误提示:不能对视图执行查询操作C.返回10条记录D.返回0条记录19.SqlServer2008中,创建触发器的语句如下:Createtriggertrig_scoreonscoreforinsertasdeclare@sidint,@scorefloatselect@sid=sid,@score=scorefrominsertedupdatestudentsetscore=score+@scorewheresid=@sidGo其中score表通过sid列与student表建立了外键约束,假定数据库中的数据具备完整性,创建触发器成功后执行语句,insertintoscore(aid,score)values(2,20),执行后的结果是()A.score表中插入一条数据,student表中更新一条数据B.score表中插入一条数据,student表中插入一条数据C.score表中插入一条数据,student表中没有变化D.提示错误:没有inserted这张表20.为表userinfo添加约束,语法如下:altertableuserinfoaddconstraintuq_useridunique(userid)执行成功后,为userinfo表的()字段添加了()约束。A.Userid;主键B.Userid;唯一C.Uq_userid;外键D.Uq_userid;检查21.运行如下T-SQL,结果返回包含()的记录集。createtablescores(scoreidintidentity(1,2),scorenumeric(4,2)notnull,courseidint)insertintoscoresvalues(90.5,null)--------------------------------------装--------------------------------------订------------------------------线----------------------------------------insertintoscoresvalues(100,2)select*fromscoresA.1、90.5、null3、100、2B.1、100、2lC.1、90.50、nullD.1、90.5、null3、100.0、222.关于子查询,以下说法正确的是()[选两项]A.一般来说,联接查询都可以用子查询替换B.一般来说,子查询都可以用联接查询替换C.相对于联接查询,子查询适合作为查询的筛选条件D.相对于联接查询,子查询适合查看多表的数据23.创建存储过程如下:CREATEprocedureb

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功