您的位置:首页 > 其它

S2金牌考试错题解析

2017-01-13 15:52 239 查看


答案是BD。选项A的create table语句中,表名后面的大括号“{”、“}”是错误的,应该是圆括号“(”、“)”。选项C对标识列的描述也是错误的,identity(1,8)表示指定列自动编号,起始值是1,递增量是8.



此题目考查的是SET与SELECT语句给变量赋值的区别。a,b,c,d选项在语法结构上并没有错误,但是在表达式返回多个值时,select语句将返回的最后一个值给变量,set语句会出错。



正确答案是选项A。本题要查询选修了所有课程的学生信息,即查询有些学生没有一门课程他没有选的。如果有一门课没有选,则此时(1)select
* from select_course sc where sc.student_id=ts.id and sc.course_id=c.id存在null,这说明(2)select * from course c 的查询结果中确实有记录不存在(1查询中),查询结果返回没有选的课程,此时select * from student ts 后的not exists 判断结果为false,不执行查询。



全局变量前缀是”@@”,并且系统变量不能修改和赋值,局部变量可以声明和赋值,前缀是“@”,因此选C



如果题目给出是"一些"那肯定代码中含有some如果题目给出是"任何"那肯定代码中含有any如果题目给出是"所有或者全部"那肯定代码中含有all





在T-SQL中,变量按生存范围可以分为全局变量(Global
Variable)和局部变量(Local Variable)。全局变量是由系统定义的,在整个SQL SERVER实例内都能访问到的变量.全局变量以@@作为第一个字符,用户只能访问,不能赋值。局部变量由用户定义,生命周期只在一个批处理内有效。局部变量以@作为第一个字符,由用户自己定义和赋值。



此题目考察的是CONVERT()函数转换类型,CONVERT()中有两个参数
, 第一个是数据类型,第二个为表达式,所以选项C、D是正确的,选项A、B是不正确的。



此题目考察的是CONVERT()函数转换类型。A选项中不可能把字符串转换成int,因此A是不正确的选项



答案是AD。T-SQL中,Case语句有两种格式。选项A和选项D代码分别符合Case语句的两种语法格式。但选项B的Case语句编写有错,在结束位置使用as而不是end关键字;而执行选项C代码在结果集中会出现2个ClassID列,与本题要求不符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: