SQL - server - 2000 - 习题(已整理、含答案) 下载本文

FROM S WHERE S.S#=SC.S#; B. SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.GRADE; C. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#;

D. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC;

125 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是(D)。 A. SELECT MAX(GRADE) FROM SC WHERE CN='C2’ AND SEX='男';

B. SELECT MAX(GRADE) FROM SC,C,S WHERE CN=‘C2‘ AND SEX=’男‘; C. SELECT MAX(GRADE) FROM SC,S

WHERE SC.C#=C.C# AND CN=’C2‘ AND SEX=’男‘; D. SELECT MAX(GRADE) FROM SC,C,S

WHERE SC.C#=C.C# AND SC.S#=S.S# AND CN='C2' AND SEX='男'; 126 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是(B)。 A. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 B. SELECT S#,SUM(GRADE) FROM SC

WHERE GRADE>=60 GROUP BY S#

HAVING COUNT(*)>=4 ORDER BY 2 DESC

C. SELECT S#,SUM(GRADE) FROM SC

WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S#

ORDER BY 2 DESC

D. SELECT S#,SUM(GRADE) FROM SC

WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S#

HAVING COUNT(*)>=4 128 在Transact-SQL中,查询时将student表的bh列标题命名为“编号”的正确操作是(D)。 A.SELECT bh 编号 B. SELECT 编号 bh FROM student FROM student

C.SELECT bh=编号 D. SELECT bh AS 编号

FROM student FROM student

第129题到第131题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT) C(C#,CN)

SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE成绩

129 查询所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是(B)。 A. SELECT SN,AGE,SEX FROM S

WHERE AGE>(SELECT AGE FROM S WHERE SN='王华') B. SELECT SN,AGE,SEX FROM S WHERE AGE>ANY

( SELECT AGE FROM S WHERE SN='王华') C. SELECT SN,AGE,SEX FROM S WHERE AGE>ALL

( SELECT AGE FROM S WHERE SN='王华') D. SELECT SN,AGE,SEX FROM S WHERE AGE>SOME

( SELECT AGE FROM S WHERE SN='王华')

130查询选修了课程号为“C2”的学生中成绩最高的学生的学号,不正确的SELECT语句是(D)。

A. SELECT S# FROM SC WHERE C#='C2' AND GRADE>=ALL ( SELECT GRADE FROM SC WHERE C#='C2') B. SELECT S# FROM SC WHERE C#='C2' AND GRADE IN

( SELECT MAX(GRADE) FROM SC WHERE C#='C2') C. SELECT S# FROM SC WHERE C#='C2' AND GRADE=

( SELECT MAX(GRADE) FROM SC WHERE C#='C2') D. SELECT S# FROM SC WHERE C#='C2' AND GRADE>=ANY ( SELECT GRADE FROM SC WHERE C#='C2') 133在SQL Server中,以下(B)约束属于域完整性约束。

A.DEFAULT B.CHECK C.NULL D.FOREIGN KEY C. SQL Server数据库的安全防线 D. SQL Server数据库对象的安全防线 142 如果要修改表的结构,应该使用SQL语言的命令(C)

A UPDATE TABLE B MODIFY TABLE C ALTER TABLE D CHANGE TABLE

144 安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库被删除后,不影响系统的正常运行,这个数据库是(D)

A master数据库 B model数据库 C tempdb数据库 D pubs数据库

二、填空题

1. SQL Server2000采用(客户机/服务器(或C/S))计算模型,通过中央服务器集中存储数据资源。

2. SQL Server2000采用的结构化查询语言称为 (Transact-SQL)。

3. SQL Server2000客户机传递到服务器上的一组完整的数据和SQL语句称为 (批处理)。 4. SQL Server2000的datetime数据类型主要用来存储(日期)和(时间)的组合数据。 5. 函数LEFT(‘cbcdef’,2)的结果是 (cb)。

6. SQL Server2000中的整数类型分别为tinyint、smallint、int、和bigint,它们分别占用(1)、(2)、(4)和(8)个存储字节。

7. SQL Server2000提供的最常用的管理工具是(企业管理器)和(查询分析器)。

8. 在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许(Null(空))值。

9. 一个局部变量的使用范围局限于一个(批处理)内,即两个(GO)语句之间。

10. SQL Server2000中为局部变量赋值的语句是(SELECT)和 (SET),(select)可以一次给多个变量赋值,而 (set) 只能给一个变量赋值。 11. 触发器是一种特殊的 (存储过程),基于 (表)而创建,主要用来保证数据的完整性。 12. 局部变量的开始标记为(@),全局变量的开始标记为(@ @)。

13. 在SQL Server2000中,每个程序块的开始标记为关键字(BEGIN),结束标记为关键字(END)。

14. 在循环结构的语句中,当执行到关键字(BREAK)后将终止整个语句的执行,当执行到关键字(CONTINUE)后将结束一次循环体的执行。

15.判断使用FETCH语句读取数据是否成功的全局变量为(@@FETCH_STATUS)。

16. 要访问SQL Server2000数据库服务器,用户必须提供正确的(登录帐号)和(口令(密码))。

17. 打开和关闭游标的语句关键字分别为(OPEN)和(CLOSE)。

18. 在SQL Server2000中,一个事务是一个(并发控制)的单位,它把必须(同时执行)或(同时不执行)的一组操作捆绑在一起。

19. 建立一个存储过程的语句关键字为(CREATE PROC),执行一个存储过程的语句关键字为EXEC。

20. 单行或行尾注释的开始标记为(--),多行注释的开始标记为(/*),结束标记为(*/)。 21. SQL Server2000与Windows 2000等操作系统完全集成,可以使用操作系统的用户和域账号作为数据库的(注册账号(或登录账号)) 。

22. 安装SQL Server2000时需要以本地 (系统管理员)身份登录操作系统。 23. SQL Server2000服务管理器程序的主要作用是(启动)、暂停、( 停止)服务器。 24. SQL Server2000主数据文件、次数据文件和事务日志文件默认的扩展名分别为(mdf)、 (ndf)和(ldf)。

25. SQL Server2000的数据库分为(系统数据库)和(用户数据库)两种类型。 26. 每个SQL Server2000数据库下都包括 (master)、(model)、tempdb 和 msdb 四个系统数据库。

27. 一般可以使用(GO)命令来标识Transact-SQL批处理的结束。

28. varchar数据类型可以自动去掉字段或变量尾部的 (空格)以节省空间。 29. 在SQL Server2000中,通常使用(bit)数据类型来表示逻辑数据。 30. 函数Right(‘abcdef’,2)的结果是(ef) 。

31. 在SQL Server2000中主要是通过使用(查询分析器)运行Transact-SQL语句。 32.(msdb)系统数据库主要用来进行复制、作业调度和管理报警等活动。

33. SQL Server2000支持两种形式的变量,即 (局部变量) 和(系统变量)。

34. 在SQL Server2000中,一个事务处理控制语句以关键字(BEGIN TRAN)开始,以关键字(ROLLBACK)或(COMMIT[TRAN])结束。

35. 触发器是一种特殊的存储过程,它可以在对一个表上进行插入、删除和(更新)操作中的任一种或几种操作时被自动调用执行。

36. CHECK约束被称为检查约束,UNIQUE约束被称为(唯一值)约束。 37. 找回被删除表的惟一方法是事先做好数据库的(备份)工作。

38. 可以将视图理解为存储在SQL Server数据库中的一条经过预编译的(SELECT)语句。 39. 常见的SQL Server2000的版本一般包括( 企业版)、 标准版 、( 个人版)、开发版等。 40. SQL Server中的数据类型主要包括(数值)、 字符 、(时间日期)、二进制、位和双字节等类型。

41. Microsoft SQL Server2000是运行在( windows)操作系统平台上的、逻辑模型为(关系)型数据库管理系统。

42. 对表中记录的维护工作主要有增加、(删除)和(修改)操作,均可通过企业管理器或Transact-SQL语句完成。

43. 在Transact-SQL语句中需要把日期时间型数据常量用(单引号)括起来。

44. 使用create database命令定义一个数据库,定义其数据文件以关键字(FILE ON)开始,定义日志文件以关键字LOG ON)开始。

45. 修改数据库定义的命令关键字为(ALTER DATEBASE),删除整个数据库的命令关键字为(DROP DATEBASE)。

46. 在SQL Server中,打开一个数据库使之成为当前库,有(2 )种方法,其中之一使用的命令关键字为( use)。

47. 在SQL Server中,通常不需要用户建立索引,而是通过使用(主码)约束和(唯一值)约束,由系统自动建立索引。

48. 定义局部变量的语句关键字为(DECLARE),被定义的各变量之间必须用(逗号)字符分开。

49. 在SQL Server中,每个程序块的开始标记为关键字(BEGIN),结束标记为关键字(END)。 50. 每次执行使用游标的取数、修改或_删除_操作的语句时,能够对表中的(单(一))个记录进行操作。

51. 每个存储过程可以包含(多条)Transact-SQL语句,可以在过程体中的任何地方使用(RETURN(返回))语句结束过程的执行,返回到调用语句后的位置。

52. 对用户授予和收回数据库操作的语句关键字分别为(GRANT)和(REVOKE)。

53. 在授予用户访问权限的语句中,所给表名选项以关键字(ON)开始,所给用户名选项以关键字(TO)开始。

54. 在收回用户访问权限的语句中,所给表名选项以关键字ON)开始,所给用户名选项以关键字(ON FROM)开始。

55. SQL Server2000服务器可以被多台客户机访问,数据库服务器仅返回客户端应用程序所需要的数据,这样做的好处是可以减少(网络流量)。

56. SQL Server2000提供了动态的自我管理机制,能够自动增大或缩小数据库所占用的(硬盘空间)。

57.在网络环境下,当多个用户同时访问数据库时,就会产生并发问题,SQL Server2000是利用 (数据封锁机制)完成并发控制的。

58. 如果在Windows NT/2000上安装SQL Server2000,需要事先设置至少一个(域用户账号)。 59. 默认情况下,SQL Server2000服务器的名字为(本地计算机名)。