注释:1、CREATE DATABASE 数据库名:创建数据库2、DROP DATABASE 数据库名:删除数据库3、C和D为干扰项,没有相应语句存在。故A为正确答案。
注释:注意这里发生了自动类型转换,整型和字符串相加,字符串自动转成了整型。
]注释:答案是A。T-SQL中,delete、drop和truncate语句都是执行删除操作的。但delete和truncate语句是删除表中记录,而drop table语句不仅可以删除表中数据,同时还可删除表结构。desc关键字和order by子句一起出现在select语句中,用于指定排序方式是逆序。
注释: 标题写问的非常明确,分析客户的业务和数据处理需求 (其中有分析客户的业务,也有数据的处理需求)前面分析后面需求,正确答案(A:需求分析)
注释:答案是C。T-SQL中,对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们并没有注意,其实这两种方式还是有很多差别的SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。
注释:因为理论是对事物知识的理解和论述,是有理可据的 所以选A.
注释:删除约束的语法为:ALTER TABLE 表名 DROP CONSTRAINT 约束名参照语法可判断,A为正确语句。
注释:答案是D。T-SQL中,创建外键约束的关键词组是“foreign key reference”,选项D代码是创建检查约束,而不是外键约束。
注释:此题目考查的是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,不执行查询。
注释:正确答案是选项D。SQL Server中,嵌套查询中的IN表示某一个字段在某一个集合里面,集合中可能有多个也可能只有一个值,但是只会有一个字段。任何一个子查询都是SELECT块,一定要加上(),否则就会报错。任何一个子查询都不能用ORDER BY排序,只能对最终的查询结果进行排序。子查询的结果只是作为父查询的某一个条件而已,还可以用AND,OR等追加更多的条件。。
注释:声明局部变量的语法为:DECLARE @variable_name DateType。DECLARE @age int 声明了一个整型变量age。故B是错误的。
注释:此题目考查的是SQL SERVER数据库理解子查询的概念和注意事项。B 子查询一般用在WHERE语句中C 子查询可以返回多个结果集合因此AD是正确的
注释正确答案是选项C。SQL Server中,先按id字段排序,使用MAX()函数查找出第2000条记录的id,再对比获取比第2000条记录id字段值大的前5条记录即为我们需要的结果。
注释:此题目考察的是SQL Server中的SQL编程的select语句输出,在SQL Server中给字段取别名有三种方式,用等于号时别名放在列名的前面,用as别名放在列名后,as可省略。所以选项A、B、C的写法是正确的,D选项是不正确的
注释:T-SQL中,创建约束时,推荐先创建表结构,再添加相关的约束。在添加各种约束时,ALTER TABLE语句与“ADD CONSTRAINT”子句及相关的约束关键字一起使用。同样,删除约束时将使用ALTER TABLE语句和“DROP CONSTRAINT”子句完成。添加和删除约束时,都要指定约束的名称。
注释:正确答案是选项A。SQL Server中,本题使用子嵌套查询实现。其中内部查询负责查找每个产品子类别最高定价,语句是SELECT MAX (ListPrice) FROM Product GROUP BY SubID。外部查询则是查看所有这些值,并确定定价高于或等于任何产品子类别的最高定价的单个产品。如果 ANY 更改为 ALL,查询将只返回定价高于或等于内部查询返回的所有定价的产品。
注释:T-SQL中,利用WHILE循环重复执行记录插入操作。本题WHILE循环中应对循环计数器变量@i进行增值运算;否则将是死循环。WHILE循环有多条语句,要使用BEGIN和END语句将重复执行的语句放在其中。
注释:答案是AD。T-SQL的批处理是一组的扩展SQL语句,在一个批处理中可以包含一条或多条T-SQL语句,成为一个语句组。GO本身不是T-SQL的组成部分,只是一个用于表示批处理结束的前端指令。两个GO之间的SQL语句作为一个批处理。每个批处理都是相对独立的。这样的语句组从应用程序一次性地发送到SQL Server服务器进行执行,可以减少网络传输,提高数据库运行效率。
注释:注意Check
注释:此题目考察的是SQL Server数据库设计,使用viso添加实体方式有添加实体、添加数据列及相应的关系,因此选项A、B、C是正确的,选项D是不正确的。
注释:子查询和联合查询,在大部分情况下都可以达到相同的查询结果。子查询的效率不一定比联合查询的效率低,要根据实际情况判定。
注释:Exists可以检测数据是否存在。如果子查询的结果非空,则Exists(子查询)将返回真(true),否则返回假(false)。。
注释:答案是B。本题选项A查询获得地址在城市表中的学员记录,因此查询结果与题目要求不符。选项B查询获得地址不在城市表中的学员记录,符合本题要求。选项C和选项D的子查询中返回包含多个字段的多条记录,主查询where子句中无法判断saddress的取值范围。
注释::答案是AD。T-SQL中,Case语句有两种格式。选项A和选项D代码分别符合Case语句的两种语法格式。但选项B的Case语句编写有错,在结束位置使用as而不是end关键字;而执行选项C代码在结果集中会出现2个ClassID列,与本题要求不符
注释:此题目考查SQLServer 开发过程中,如何通过Exists子查询进行检测和对Exists的理解。if exists(结果集)表示如果查询到的结果存在,则执行操作;SELECT * FROM USER WHERE SALARY < 10000表示查询工资小于10000的员工;Update 语句中的where条件表明只是对工资小于10000的员工进行更新。