试题(Sql Advance) (120题)带答案
《SQL Server 数据库管理和高级查询》试题库 答案仅作参考
选择题120题
1. 下列哪个SQL 语句属于DDL 语句()A. CreateB. SelectC. GrantD. Insert注释:DDL(数据定义语句 Data Definition Language
2. SQL Server 2008 的BEGIN TRANS 和COMMIT TRANS,ROOLBACK TRANS 语句可用在()中来支持操作的事务特性A. Select 语句B. 存储过程C. ADO.NET 连接对象的Transaction 属性D. 触发器3. 在SQL Server2008数据库中,从Product表查询出Price(价格)高于Pname (产品名称)为网通IP电话卡的所有记录中的最高价格的查询语句是()A. SELECT * FROM Product WHERE max(Price)>’网通IP电话卡’
B. SELECT * FROM Product WHERE Price>(SELECT max(*)FROM Product WHERE Pname=’ 网通IP电话卡’)
C. SELECT * FROM Product WHERE EXISTS Pname=’网通IP电话卡’
D. SELECT * FROM Product WHERE Price>(SELECT max(Price)FROM Product WHERE Pname=’ 网通IP电话卡’)
4. 在SQL Server 2008中,声明一个最多可以存储10个字符的变量pwd,正确的代码是()A. DECLARE pwd VARCHAR(10)
B. DECLARE @pwd VACHAR(10)
C. pwd VARCHAR(10)
D. @pwd VARCHAR(10)
5. 在SQL Server 2008中,已知Student表中有一个age列,数据类型是int,如果要限制该列的取值范围在18到28之间,可以使用以下哪个SQL语句()A. alter table Student add check(age>=18 and age<=28)
B. alter table Student add defult(age>=18 and age<=28)
C. alter table Student add unique(age>=18 and age<=28)
D. alter table Student add set(age>=18 and age<=28)
6. SQL Server 2008数据库中,创建books表的语句如下,这个创建命令执行时出错,错误原因有()Cerate table books(bookid int primary key,title varchar(20) not null,author char not null,loc int identity(1,1),depid int foreign key,comment text(1000))
A. 定义主键的方式错误
B. 必须对Char数据类型指定列宽度
C. 定义外键的方式错误
D. 定义外键列不能定义为标识列
E. 不能对text数据类型指定列宽度
7. 在SQL Server 2008中,创建存储过程如下要在Students表中查找Age(年龄)是18岁的学生,()可以正确的调用这个存储过程CREATE PROCEDURE MyP1 @p Int As
SELECT Studentname,Age FROM Student WHERE Age=@p
A. EXEC Myp1 18
B. EXEC Myp1 @p=18
C. EXEC Myp1 p=’18’
D. EXEC Myp1 p=18
8. 在SQLServer2008中,假设Orders表中存在自动编号字段oid等于1的记录,执行下面T-SQL,以下说法正确的是()BEGIN TRANSACTION
Delete from Orders where oid=1
If(@@Error<>0)
ROLLBACK TRANSACTION
Else
COMMIT TRANSACTION
A. 执行成功,oid为1的记录被永久删除
B. 执行成功,Orders表没有任何变化
C. 执行时出现错误
D. 执行成功,但事务处理并没有任何结束
9. 在SQLServer 2008中,给定如下的T-SQL代码,以下说法正确的是()Create Procedure price_proc
(
@count int output,@avg_price money output,@typ