08:00-20:00咨询热线

400-6799-697

SQLServer练习题1

时间:2021-08-27

选择题(每题2分,共计100分)

1. SQL Server中,要防止大于100的数被保存到int类型的列,可以使用(    )。

A. 主键约束

B. 限制约束

C. 外键约束

D. 检查约束

2. SQL Server中,下面关于数据完整性的描述正确的是(    )。[选两项]

A. 如果数据库中没有重复的数据,数据就是完整的

B. 维护数据完整性就是保证数据的准确性

C. 数据库中数据越详细越符合数据完整性

D. 维护数据完整性可以保证数据的一致性,避免出现没有意义的数据

3. SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是(    )。

A. master

B. model

C. msdb

D. pubs

4. SQL Sever 2005中,假设表 users 包含主键列 id ,那么执行update users set id=20 where id=30,执行的结果可能有(    )。

A. 如果表中含有id为30的记录,但不包含id为20的记录,则更新失败

B. 执行出错,因为主键列不可以被更新

C. 如果表中同时含有id 为20和id 为30的记录,则更新失败。

D. 如果表中不包含id为20 和id 为30 的记录,则更新一行记录

5. SQL Server 2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是(    )。

A. 每次只能更新一行数据

B. 每次可更新多行数据

C. 如果没有数据项被更新,将提示错误消息

D. 更新数据时,必须带有WHERE条件句子

6. 关于数据完整性,以下说法正确的是(    )。[选两项]

A. 引用完整性通过主键和外键之间的引用关系实现

B. 引用完整性通过限制数据类型、检查约束等实现

C. 数据完整性是通过数据操纵者自身对数据的控制来实现的

D. 如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性

7. 关于标识列,以下说法正确的是(    )。

A. 使用sql语句插入数据时,可以为标识列指定要插入的值

B. 只能把主键设定为标识列

C. 一个表可以有多个标识列

D. 标识列可以为任何数据类型

8. SQL Server 2005数据库中,有一个book(图书)表,包含字段:bookID(图书编号),title(书名),pDate(出版日期),author(作者)等字段,其中(    )字段作为该表主键是最恰当的。

A. bookID

B. title

C. pDate

D. author

9. 现有表Employee,字段:id (int),firstname(varchar), lastname(varchar); 以下sql语句错误的是(    )。

A. select firstname+'.'+lastname as 'name' from employee

B. select firstname+'.'+lastname='name' from employee

C. select 'name'=firstname+'.'+lastname from employee

D. select firstname,lastname from employee

10. T-SQL提供了一些字符串函数,以下说法错误的是(    )。

A. select substring('hello',1,3) 返回值为:hel

B. select replace('hello','e','o') 返回值为:hollo

C. select len('hello') 返回值为:5

D. select stuff(abcd,2,3, ‘ef) 返回值为:aefd

11. 现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个

类别的平均价格、类别名称,以下语句正确的是(    )。

A. select avg(price),type from book group by type

B. select count(price),type from book group by price

C. select avg(price),type from book group by price

D. select count (price),type from book group by type

12. 以下(    )语句的返回值不是22。

A. Select abs(-22)

B. Select round(21.9,0)

C. Select ceiling(22.1)

D. Select floor(22.9)

13. 现有订单表orders,包含用户信息userid, 产品信息 productid, 以下(    )语句能够返回至少被订购过两回的产品。

A. select productid from orders where count(productid)>1

B. select productid from orders where max(productid)>1

C. select productid from orders where having count(productid)>1 group by

productid

D. select productid from orders group by productid having count(productid)>1

14. T-SQL提供了一些日期函数,以下说法错误的是(    )。[选两项]

A. select dateadd(mm,4,2000-10-11) 返回值为:2001-2-11

B. select datediff(year,'2000-1-1','2000-7-1') 返回值为:0.5

C. select datepart(dw,'2008-9-7') (提示:星期天) 返回值为:1

D. select datename(dw,'2008-9-10') 返回值为:6

15. 使用以下(    )不可以进行模糊查询。

A. or

B. like

C. in

D. between

16. 关于分组查询,以下(    )描述是错误的。[选两项]

A. 使用group by 进行分组查询

B. 对分组后的条件的筛选必须使用Having子句

C. Having子句不能与where子句同时出现在一个select语句中

D. 在使用分组查询时,在select列表中只能出现被分组的列

17. 以下(    )说明了代码:not (付款方式=信用卡) or (信用卡<>阳光卡) 的含义。

A. 付款方式不能是信用卡

B. 付款方式不能是信用卡,或者信用卡是阳光卡

C. 如果付款方式是信用卡,那么信用卡不能是阳光卡

D. 付款方式是信用卡,并且信用卡不能是阳光卡

18. 关于主键,以下(    )说法是错误的。[选两项]

A. 主键用于实施实体约束

B. 一个表必须有一个主键

C. 一个表只能有一个主键

D. 只能对整数型列设置主键

19. 关于SQL常用的数据类型,以下(    )说法是错误的。

A. Image数据类型可以用来存储图像

B. 使用字符数据类型时,可以改变长度信息

C. 使用数字数据类型时,可以改变长度信息

D. Bit数据类型只有两种值:true,false

20. 定义列中可以接受的数据值或格式,称为(    )。

A. 唯一性约束

B. 检查约束

C. 主键约束

D. 默认约束

21. 现有客户表customers(主键:客户编号cid),包含10行数据,订单表orders(外键:

客户编号cid),包含6条数据。执行sql语句:select * from customers right outer

join orders on customers.cid=orders.cid。最多返回(    )条记录。

A. 10

B. 6

C. 4

D. 0

22. SQL Server中,函数(    )返回表达式中的平均值。

A. AVG

B. SUM

C. MIN

D. COUNT

23. SQL Server 2005数据库中,T-SQL支持的逻辑运算符不包含(    )。

A. AND

B. OR

C. NOT

D. IN

24. 创建数据库时,关于数据库文件,以下说法正确的是(    )。

A. 只会创建一个主数据文件

B. 至少会创建一个主数据文件和一个日志文件

C. 至少会创建一个主数据文件和一个次数据文件

D. 可以创建多个主数据文件和多个日志文件

25. SQL Server 2005数据库中,假定有学员选课表(studentCourse),其结构:SID(学

号),CID(课程编号),score(成绩),列出选课超过5门的学员学号及选课数量的SQL

语句是(    )。

A. select SID,count(CID) from studentCourse where count(CID)>5

B. select SID,count(CID) from studentCourse group by SID where count(CID)>5

C. select SID,count(CID) from studentCourse group by SID having count(CID)>5

D. select SID,count(CID) from studentCourse group by CID having count(SID)>5

26. 数据的完整性,不包括(    )。

A. 域完整性

B. 行完整性

C. 实体完整性

D. 自定义完整性

27. 外键约束可以用于实施(    )。

A. 实体完整性

B. 行完整性

C. 引用完整性

D. 域完整性

28. 关于主外键关系,以下说法错误的是(    )。[选三项]

A. 可以在子表中随意修改数据

B. 不能在子表中随意删除数据

C. 可以在主表中随意增加数据

D. 不能在主表中随意修改数据

29. SQL Server中,附加操作是指    )。

A. SQL Server数据库文件保存为其他数据库文件

B. 根据数据库物理文件中的信息,把数据库在SQL Server中恢复

C. 把所有该数据库表的数据清空

D. 把数据库删除掉

30. SQL Server 2005数据库中,有students(学生)表,包含字段:SID(学号),Sname(姓名),Gread(成绩).现查找所有学员中成绩最高的前5名学员.下列SQL语句正确的是(    )。

A. SELECT TOP 5 FROM students ORDER BY Grade DESC

B. SELECT TOP 5 FROM students ORDER BY Grade

C. SELECT TOP 5 * FROM students ORDER BY Grade

D. SELECT TOP 5 * FROM students ORDER BY Grade DESC

31. SQL Server 2005数据库中,有学生信息表:Student(stuID,stuName,stu_Address),三个字段分别存储学生的学号,姓名,以及家庭住址,如果要在表中找出家庭住址倒数第三个字符为”沙”,并且至少包含4个字符的学生信息,则查询条件子句应写成(    )。

A. WHERE stu_Address LIKE ‘_ _ 沙_%’

B. WHERE stu_Address LIKE ‘ %沙_ _’

C. WHERE stu_Address LIKE ‘%_ 沙_ _’

D. WHERE stu_Address LIKE ‘_ 沙_%’

32. SQL Server 2005数据库中,客户表customers包含字段:客户编号cid和名称cname,订单表orders包含字段:客户编号cid,如果需要通过查询获得订单的客户的名称,下面查询语句中(    )可以实现该需求。

A. SELECT costoners.cname FROM customers LEFT JOIN orders ON customers.cid=order.cid

B. SELECT costoners.cname FROM customers INNER JOIN orders ON customers.cid=order.cid

C. SELECT costoners.cname FROM customers RIGHT JOIN orders Where customers.cid=order.cid

D. SELECT costoners.cname FROM customers outer JOIN orders Where  customers.cid=order.cid

33. 为字段stuAge添加检查约束,保证输入的数据都在18到40岁之间,以下正确的是(    )。[选两项]

A. stuAge in(18-40)

B. stuAge >=18 and stuAge <=40

C. stuAge >=18 && stuAge <=40

D. stuAge between 18 and 40

34. SQL Server中,标识列本身没有实际意义,而是为了区分表中不同的记录,下列关于标识符的说法错误的是(    )。[选两项]

A. 一个表只能有一个标识列

B. 不能对标识列加上默认约束

C. 标识列可以是任意数据类型

D. 不能更新或输入标识列的值

35. SQL Server中,删除表test中的所有数据,可以使用以下(    )语句。[选

两项]

A. Truncate table test

B. delete * from test

C. delete from test