) 在SQL Server 中,为数据库表建立索引能够(C )。 索引:是SQL SERVER编排数据的内部方法,是检索表中数据的直接通道
建立索引的作用:大大提高了数据库的检索速度,改善数据库性能
A. 防止非法的删除操作
B. 防止非法的插入操作
C. 提高查询性能
D. 节约数据库的磁盘空间
2) 在SQL SERVER中,创建一个表使用(C )语句。
A. INSERT 增加数据
B. DROP 删除数据库,表,约束,视图,索引,存储过程
C. CREATE 创建数据库,表,视图,索引,存储过程
D. ALERT 创建约束或者修改存储过程
3) 在SQL SERVER中,下面关于视图说法错误的是(C )。
A. 对查询执行的大多数操作也可以在视图上进行
B. 使用视图可以增加数据库的安全性
C. 不能利用视图增加,删除,修改数据库中的数据 为了保证数据库的安全,尽量不要利用视图进行增删改操作
D. 视图使用户更灵活的访问所需要的数据
4) 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的( B )阶段。
A. 需求分析
B. 概要设计
C. 逻辑设计
D. 物理设计
5) 在SQL Server 数据库中,如果强制要求grades表中的学员必须是Students表中存在的学员,以下描述正确的是( A )。
A. 在grades表中创建外键约束 创建grades表和students表之间的联系,就要创建外键约束
B. 在grades表中创建检查约束
C. 在grades表中创建唯一约束
D. 在grades表中创建默认约束
6) 在SQL Server 数据库中,下面的T-SQL语句段执行第三句时出现错误,数据库中的内容修改情况是(C )。
BEGIN TRANSACTION
update Account set balance=7800 where id=1 第三句出现了错误,执行rollback tran 回滚事务,那么在begin tran 语句之后的所有更新数据都回滚到初始状态
update Account set balance=9000 where id=1
IF @@error <> 0
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
A. Account表中id为1的记录中balance字段的值被修改为7800
B. Account表中id为1的记录中balance字段的值被修改为9000
C. Account表中id为1的记录中balance字段的值不变
D. 不可能发生这种情况
7) 在SQL Server 数据库中,有关下列T-SQL语句的功能,说法正确的是( C )。
DECLARE @I int, @J int
SET @I=0
WHILE (@I < 2)指定循环两次
BEGIN
SELECT @J=COUNT(*) FROM stuMarks WHERE writtenExam<60统计学生考试没及格的数量
IF(@J>0)
UPDATE stuMarks SET writtenExam=writtenExam+5 WHERE writtenExam<60对没及格的学生加5分
ELSE
BREAK
SET @I = @I + 1改变循环变量,@I为1继续再循环一次!
END
SELECT stuNo,成绩=CASE
WHEN writtenExam<60 THEN ‘不及格‘
ELSE ‘及格‘
END
FROM stuMarks
A. 给不及格的学员反复提5分直到通过为止,最后展示所有学员是否及格的情况信息
B. 给不及格的学员提10分,最后展示所有学员是否及格的情况信息
C. 给不及格的学员提5分,提分后仍不及格的学员再提5分,最后展示所有学员是否及格的情况信息
D. 给不及格的学员提5分,最后展示所有学员是否及格的情况信息
8) 在SQL Server 数据库中,下面调用存储过程的语句错误的是(B )。
A. EXEC proc_stu @sum OUTPUT,64,78
B. EXEC proc_stu @sum OUTPUT,@total output,78
C. EXEC proc_stu @sum OUTPUT,604
D. EXEC Calculate @sum OUTPUT,@total output
9) 在SQL SERVER中,下面关于子查询的说法你认为正确的是(C )。
A. 应用简单子查询的SQL语句的执行效率比采用SQL变量的实现方案要低
B. 带子查询的查询执行顺序是,先执行父查询,再执行子查询
C. 表连接一般都可以用子查询替换,但有的子查询不能用表连接替换 所有的表连接都可以被替换成为子查询,但不是所有的子查询都可以被替换成为表连接
D. 如果一个子查询语句一次返回二个字段的值,那么父查询的where子句中应该使用NOT EXISTS关键字
10) 在SQL SERVER中,按以下要求创建学员表正确的SQL语句是( D )。
学员表(stuTable)的要求是:学号为5位数字,自动编号;姓名最多为4个汉字,身份证号码最多为18位数字。
A. CREATE TABLE stuTable ( identity:自增 identity(标识种子,表示增量) numberic(18,0)指长度为十八,小数点后一位都没有
ID NUMERIC(6,0) NOT NULL,
Name VARCHAR(4),
Card INT
)
B. CREATE TABLE stuTable
(
ID INT IDENTITY(10000,1),
Name VARCHAR(4),
Card DECIMAL(18,0)
)
C. IF EXISTS(SELECT * FROM sysobjects WHERE name=‘ stuTable ‘)
DROP TABLE stuTable
GO
CREATE TABLE stuTable
(
ID NUMERIC(4,0) NOT NULL,
Name VARCHAR(4),
Card INT
)
D. IF EXISTS(SELECT * FROM sysobjects WHERE name=‘ stuTable ‘)
DROP TABLE stuTable
GO
CREATE TABLE stuTable
(
ID INT IDENTITY(10000,1),
Name VARCHAR(8),
Card NUMERIC(18,0)
)
11) 在SQL SERVER中,声明并创建以下存储过程,正确调用该存储过程的的语句是(BC )。
CREATE PROCEDURE PRO
@passNum int OUTPUT,
@passPoint int=60
AS
Select @passNum=count(*) From stuTable Where point >@passPoint
GO
A. Declare @sum int
EXEC PRO @passNum,70
B. Declare @sum int 输入参数有一个默认值,所以在调用储存过程时即可以选择输入参数,也可以使用输入参数的默认值。
EXEC PRO @sum output,70
C. Declare @sum int
EXEC PRO @sum output
D. EXEC PRO 70
12) 下面描述的四个阶段中,不是数据库设计过程中经历的阶段是( D )。
A. 需求分析阶段
B. 概要设计阶段
C. 详细设计阶段
D. 代码设计阶段
13) 在SQL Server 中,对IN语句取反的方法是,在IN前面添加( B )。
A. NONE
B. NOT
C. !
D. NO
14) 在SQL Server 数据库中,以下对变量的定义错误的是(C )。
A. DECLARE @username varchar(10) 定义临时变量为@变量名,而全局变量前有两个@@
B. DECLARE @RowCount varchar(30)
C. DECLARE @@username varchar(10)
D. DECLARE @@RowCount varchar(30)
15) 在SQL Server中,绘制E-R图时一般使用( B)表示实体的属性。
A. 矩形 矩形:实体 椭圆:属性 菱形:关系
B. 椭圆
C. 菱形
D. 三角形
16) 在SQL SERVER中,运行下列语句,输出结果是( B )。
Create proc proc_Search
@myStuno varchar(8) is null 此处编译错误,应该将is改为“=”
as
if @myStuno = null
begin
print ‘你忘记了传递学号‘
return
end
Select * from stuinfo where [email protected]
go
exec proc_Search
A. 你忘记了传递学号
B. 编译错误
C. 显示空的记录
D. 调用存储过程proc_Search出错
17) 下面关于SQL Server中变量的操作正确的是( AD )。
A. DECLARE @name varchar(8)
SET @name=‘lkl‘
print ‘姓名是‘[email protected]
B. DECLARE name varchar(8)
SET name=‘lkl‘
print ‘姓名是‘+name
C. print @@VERSION AS ‘版本‘, @@SERVERNAME AS ‘服务器‘
D. SELECT @@VERSION AS ‘版本‘, @@SERVERNAME AS ‘服务器‘
18) 下面选项中关于在SQL语句中使用的逻辑控制语句的说法正确的是(A )。
A. 在IF-ELSE 条件语句中,IF为必选,而ELSE为可选
B. 在IF-ELSE 条件语句中,语句块使用{ }括起来 使用begin和end,在case分支语句中也会出现end,while循环条件为真时,重复循环
C. 在CASE多分支语句中不可以出现ELSE分支
D. 在WHILE循环语句中条件为false,就重复执行循环语句
19) 已知dept表有部门编号字段deptno、部门名称字段dname,员工表emp具有员工编号字段empno、员工姓名字段ename、电话字段phone和所属部门编号字段deptno,该字段参考dept表的deptno字段,要使用SQL语句查询 “研发部”部门所有员工的编号和姓名信息,下面选项中正确的是( B )。
A. SELECT empno,ename FROM emp
WHERE empno=(SELECT empno FROM dept WHERE dname="研发部")
B. SELECT empno,ename FROM emp 使用子查询切勿将表混淆
WHERE deptno=(SELECT deptno FROM dept WHERE dname=‘研发部‘)
C. SELECT empno,ename FROM emp
WHERE deptno=(SELECT * FROM dept WHERE dname=‘研发部‘)
D. SELECT empno,ename FROM dept
WHERE deptno=(SELECT deptno FROM emp WHERE dname="研发部")
20) 在SQL Server中,下面关于视图的描述,说法正确的是(AD )。
A. 使用视图可以筛选原始物理表中的数据,增加了数据访问的安全性 视图为了保证数据的完整性尽量不要对视图进行增删改操作,可以多表联查!
B. 视图是一种虚拟表,数据只能来自一个原始物理表
C. CREATE VIEW语句中可以包含UPDATE语句
D. 为了安全起见,一般只对视图执行查询操作,不推荐在视图上执行修改操作
21) 在SQL Server中,创建如下存储过程:
create proc stu_exam
@writtenExam int=null
as
if @writtenExam is null
begin
print ‘请输入笔试成绩及格线‘
return
end
select * from student where stu_id in
(select stu_id from stu_marks
where writtenExam>@writtenExam)
GO
下列选项正确的是( C )。有IF条件进行过滤,若果没有输出笔试成绩的话,将输出提示。
A. 执行EXEC stu_exam语句,控制台显示所有笔试成绩及格的学生信息记录集
B. 存储过程(stu_exam)代码存在语法错误
C. 执行EXEC stu_exam语句,控制台显示“请输入笔试成绩及格线”
D. 执行EXEC stu_exam 75语句,控制台显示“请输入笔试成绩及格线”
22) 下列选项中不属于SQL Server的逻辑控制语句的是(B )。
A. IF-ELSE语句
B. FOR循环语句
C. CASE子句
D. WHILE循环语句
23) 在SQL SERVER中,关于聚集索引和非聚集索引的描述错误的是(B )。
A. 一个表可以有多个非聚集索引,但只能有一个聚集索引
B. 非聚集索引的值顺序与数据表中记录的物理顺序完全相同 非聚集索引使表中各行数据存放的物理顺序与键值的逻辑顺序不匹配!
C. 在建立聚集索引的列上不允许有重复的值
D. 使用聚集索引查询的速度要比非聚集索引速度快
24) 在SQL SERVER中,关于系统存储过程以下说法错误的是( D)。
A. 系统存储过程提供了管理数据库和更新表的机制
B. 所有系统存储过程都以sp_开头
C. 所有系统存储过程都存放在master数据库中
D. 用户不能使用系统存储过程更新系统表,只能查询系统表
25) 在SQL Server 数据库中,从product表里查询出price(价格)高于pName(产品名称)为“一次性纸杯”所有记录中最高价格的产品的查询语句为(D )。
A. SELECT * FROM product WHERE max(price)>‘一次性纸杯‘
B. SELECT * FROM product WHERE price>(SELECT max(*) FROM product WHERE pName= ‘一次性纸杯‘) 聚合函数sum为求和,必须包含数据包中的一列
C. SELECT * FROM product WHERE EXISTS pName=‘一次性纸杯‘
D. SELECT * FROM product WHERE price>(SELECT max(price) FROM product WHERE pName=‘一次性纸杯‘)