SQL server 2000 习题(已整理、含答案)

更新时间:2024-03-18 19:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SQ复习资料

一、选择题

1、必须运行在NT或2000 服务器版的SQL SERVER 2000的版本是(A) A、标准版 B、开发者版 C、个人版 D、三者都不是 2、SELECT语句属于SQL语言中的(D)

A、DDL语言 B、DML语言 C、DCL语言 D、DQL语言 3、下列系统表中会出现在每个数据库中的主系统表是(B)

A、sysdatabases B、sysobjects C、sysusers D、master 4、对一个重要的只读数据库,我们经常采用 (A)方法备份数据。 A、完全数据库备份 B、差异备份 C、数据库文件和文件组备份 D、事务日志备份 5、下面能够备份数据库的角色是 (A)

A、服务器管理员 B、安全管理员 C、磁盘管理员 D、进程管理员 6、下列数据库中,包含所用用户数据库和模板数据库的数据库是 (B) A、master B、model C、msdb D、pubs 7、用户自定义存储过程文件存储在(A)文件中。

A、sysobjects B、sysusers C、sysdatabases D、sysindexes 8、在SQL SERVER中用于单行注释的是(C)

A、/* */ B、&& C、-- D、@ 9、事务日志文件的扩展名为 (A)

A、LDF B、NDF C、DBF D、MDF

10、下同哪种备份包含自上次备份以来一行修改几次的所有修改 (D) A、完全数据库备份 B、差异备份 C、数据库文件和文件组备份 D、事务日志备份 11 、下面数据类型,在定义时需要给出数据长度的是(B) A、int B、varchar C、text D、money 12、在建立约束时即自动建立索引的是 (D)

A、建立检查约束时 B、建立外部键约束时 C、建立默认约束时 D、建立惟一性约束时

13、下面哪种文件类型不能导入SQL SERVER中?(A) A、WORD B、EXECL C、FoxPro D、TXT文档

14、SQL Server 2000是一个基于 (B)的关系数据库管理系统。 A B/S模式 B C/S模式 C SQL模式 D 以上都不是 15、 在SQL Server 2000中,一个数据库可最多创建(B)个表。 A 1024 B 20亿 C 8092 D 256

16、 SQL Server 2000支持的整数型数据类型包括bigint、int、smallint、tinyint,其中int的数值范围为(B)。

A) -2

63到2

63-1 B) -2到2-1 C) -2到2-1 D) 0到255

3131151517 SQL Server 2000支持的货币型数据类型包括money、smallmoney,其中money的数值范围为(A)。

A) -2

63到2

63-1 B) -2到2-1 C) -2到2-1 D) 0到255

3131151518 假设表中某列的数据类型为varchar(100) ,而输入的字符串为\,则存储的是(A)。

A) ahng3456,共8字节 B) ahng3456和92个空格 C) ahng3456和12个空格 D) ahng3456和32个空格

19 默认情况下,SQL SERVER 使用(B)作为增长速度的单位,最少增长(A)。 (1) A) KB B) MB C) B D) GB (2) A) 1M B) 2M C) 1KB D) 2KB

20 在SQL SERVER 2000中,数据库创建后,可以增加或删除数据文件,但不能删除(B)。 A) 辅助数据文件 B) 主数据文件 C) 自建数据库的数据文件 D) 任何数据文件 21 SQL Server把所有的工作负荷分解为(A)任务。 A) 服务器和客户端 B) 不同服务器之间 C) 所有客户端 D) 以上都不是

22 SQL Server 2000的文件包括: 主数据文件、辅助数据文件和(B)。

A) 索引文件 B) 日志文件 C) 备份文件 D) 数据库文件

23 (C)是指组成表的各列的名称及数据类型,也就是日常表格的\栏目信息\。

A) 表型 B) 记录 C) 字段 D) 关键字 24 (A)能够创建数据库。

A) 有CREATE DATABASE权限的用户 B) 任何SQL Server用户 C) 任何Windows用户 D) 任何混合用户

25 SQL Server 2000 客户端工具安装对硬盘空间的最低要求是(D)MB。 A) 180MB B) 170MB C) 65MB D) 90MB 26 SQL Server 2000 完全安装对硬盘空间的最低要求是(A)MB。 A) 180MB B) 170MB C) 65MB D) 90MB 27 SQL Server 2000 采用的身份验证模式有(C)

A) 仅WindowsNT身份验证模式 B) 仅SQL Server身份验证模式 C) 混合模式及仅WindowsNT身份验证模式 D) 以上都不对 28 以下(B)不属于数据库对象

A) 表和视图 B) 数据类型和默认值 C) 触发器 D) 存储过程 29 下列(D)不属于SQL Server 2000在安装时创建的系统数据库。

A) master B) model C) msdb D) userdb

30 数据库管理系统、操作系统、应用软件的层次关系从核心到外围分别是(B)。

A.数据库管理系统、操作系统、应用软件 B. 操作系统、数据库管理系统、应用软件

C.数据库管理系统、应用软件、操作系统 D. 操作系统、应用软件、数据库管理系统

31下列哪个不是数据库系统必须提供的数据库控制功能(D)。

A、安全性 B、完整性 C、并发控制 D、可移植性 32关系模型的完整性约束中,实体完整性规则是指关系中(C)。

A.不允许有主行 B.属性值不允许为空 C.主键值不允许为空 D.外键值不允许为空 33 事务的原子性是指(A)。

A. 事务中包括的所有操作要么都做,要么都不做

B.事务一旦提交,对数据库的改变是永久的

C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态

34 SQL Server中,为便于管理用户及权限,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为(B)。

A.帐户 B.角色 C.登录 D. SQL Server用户 35在Transact-SQL中,使用INSERT命令添加数据,若需要添加一批数据应使用(B)语句。 A.INSERT?VALUES B.INSERT?SELECT C.INSERT?DEFAULT D.A B C均可

36 “保护数据库,防止未经授权的或不合法的使用造成的数据泄露、更改破坏。”这是指数据的(A)。

A.安全性 B.完整性 C.并发控制 D.恢复 37关系数据库中的视图属于4个数据抽象级别中的(A)。

A.外部模型 B.概念模型 C.逻辑模型 D.物理模型

38关系数据库系统设计中,在数据库设计的(C)阶段,需要将E-R模型转换为关系数据模型。

A.概念设计 B.物理设计 C.逻辑设计 D.运行阶段 39 SQL语言中最重要的也是使用最频繁的语句是(A)。

A.SELECT B.INSERT C.UPDATE D.DELETE 40 与HAVING子句一起使用的子句是(D)。

A.ORDER BY B.WHERE C.JOIN D.GROUP BY 41 SQL Server2000触发器主要针对下列语句创建(D)。

A.SELECT.INSERT.DELETE B.SELECT.UPDATE.INSERT C.INSERT.UPDATE.CREATE D.INSERT.UPDATE.DELETE 42 Transact-SQL对标准SQL的扩展主要表现为(A)。

A.加入了程序控制结构和变量 B.加入了建库和建表语句

C.提供了分组(Group By)查询功能 D.提供了Min.Max等统计函数 43 有关存储过程的叙述中不正确的是(A)。

A.SQL Server中定义的过程被称为存储过程

B.存储过程可以带多个输入参数,也可以带多个输出参数 C.可以用EXECUTE(或EXEC)来执行存储过程 D.使用存储过程可以减少网络流量

44.设有一个关系:DEPT (DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成 WHERE DNAME LIKE ( B)

A. _ _ W _ % B. _ %W_ _ C. _W_ _ D. _W_ %

45 SQL基本表的创建中是通过( B )实现参照完整性规则的。

A.主键子句 B.外键子句 C.检查子句 D.NOT NULL 46在文件系统中,所具有的数据独立性是 ( B )

A.系统独立性 B.物理独立性 C.逻辑独立性 D.设备独立性 47嵌入式SQL的预处理方式,是指 (B)

A.识别出SQL语句,加上前缀标识和结束标志 B.把嵌入的SQL语句处理成函数调用形式

C.对源程序进行格式化处理 D.把嵌入的SQL语句编译成目标程序 48 DBMS的并发控制子系统,保证了事务( B )的实现

A.原子性 B.一致性 C.隔离性 D.持久性 49数据库的概念模型独立于(A)。

A、具体的计算机和DBMS B、E-R图 C、信息世界 D、现实世界 50(B)是存储在计算机内有结构的数据的集合。

A、数据库系统 B、数据库 C、数据库管理系统 D、数据结构 51层次型、网状型和关系型数据库划分的原则是(D)。

A、记录长度 B、文件大小 C、联系的复杂程度 D、数据之间的联系 52数据库的(B)是指数据库的正确性和相容性。

A、安全性 B、完整性 C、并发控制 D、备份 53层次型数据库结构是(B)。

A、图形结构 B、树型结构 C、二维表 D、综合结构 54创建表之间的关系时,正确的操作是(B)。

A.关闭当前打开的表 B.打开要建立关系的表 C.关闭所有打开的表 D.关闭与之无关的表

55有一个关系:学生 (学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于(C)

A.实体完整性约束 B.参照完整性约束 C.用户自定义完整性约束 D.关键字完整性约束 56 以下对SQL Server描述不正确的是(D)。

A. 支持XML B. 支持用户自定义函数 C. 支持邮件集成 D. 支持网状数据模型

57 如果在SQL Server上运行一个非常大的数据库,为取得较好效果应选用安装(A)。 A. 企业版 B. 标准版 C. 个人版 D. 开发版

58 语句“USE master GO SELECT * FROM sysfiles GO”包括(B)个批处理。 A. 1 B. 2 C. 3 D.4 59 SQL Server的字符型系统数据类型主要包括(B)。

A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int

60 如果要在SQL Server中存储图形图像、Word文档文件,不可采用的数据类型是(D)。 A. binary B. varbinary C. image D. text 61下面关于Timestamp数据类型描述正确的是:(C)。

A. 是一种日期型数据类型 B. 是一种日期和时间组合型数据类型

C. 可以用来替代传统的数据库加锁技术 D. 是一种双字节数据类型 62 下列命令不能执行的是(B)。

A. SELECT * FROM [select] B. SELECT * FROM @MyTable C. SELECT * FROM [MyTable] D. SELECT * FROM MyTable 63 下面关于索引的描述不正确的是(B)。

A. 索引是一个指向表中数据的指针 B. 索引是在列上建立的一种数据库对象 C. 索引的建立和撤消对表中的数据毫无影响 D. 表被撤消时将同时撤消在其上建立的索引

64 下面关于聚集索引和非聚集索引说法正确的是(B)。

A. 每个表只能建立一个非聚集索引 B. 非聚集索引需要较多的硬盘空间和内存

C. 一张表上不能同时建立聚集和非聚集索引 D. 一个复合索引只能是聚集索引

65“Create Unique Index AAA On 学生表(学号)”将在学生表上创建名为AAA的(A)。 A. 惟一索引 B. 聚集索引 C. 复合索引 D. 唯一聚集索引 66 以下软件产品中,是数据库管理系统的是(B)。

A. PowerBuilder B. DB2 C. Delphi D. Visual Basic 67 Delphi是(D)。

A. 数据库软件 B. 图形处理软件 C. 系统软件 D. 应用开发软件 68 SQL Server2000标准版不支持的操作系统是(C)。

A. Windows 2000 Server B. Windows NT Server

C. Windows98 D. Windows 2000 Advanced Server 69 如果希望完全安装SQL Server2000,则应选择(A)。

A. 典型安装 B. 最小安装 C. 自定义安装 D. 仅连接 70要想使SQL Server2000数据库管理系统开始工作,必须首先启动(A)。 A. SQL Server服务器 B. 查询分析器

C. 网络实用工具 D. 数据导入和导出程序 71 用于配置客户端网络连接的工具是(B)。

A. 企业管理器 B. 客户端网络实用工具 C. 查询分析器 D. 联机帮助文档

72当数据库损坏时,数据库管理员可通过何种方式恢复数据库(A)。 A. 事务日志文件 B. 主数据文件 C. DELETE语句 D. 联机帮助文件

73 SQL Server2000系统中的所有系统级信息存储于哪个数据库(A)。 A. master B. model C. tempdb D. msdb 74 下面关于tempdb数据库描述不正确的是(D)。

A. 是一个临时数据库 B. 属于全局资源

C. 没有权限限制 D. 是用户建立新数据库的模板 75下列标识符可以作为局部变量使用(C)。

A. [@Myvar] B. My var C. @Myvar D. @My var 76 Transact-SQL支持的程序结构语句中的一种为(A)。 A. Begin…End B. If…Then…ELSE C. Do Case D. Do While 77 不属于SQL Server2000系统全局变量的是(D)。 A. @@Error B. @@Connections C. @@Fetch_Status D. @Records 78 属于事务控制的语句是(A)。

A. Begin Tran、Commit、RollBack B. Begin、Continue、End

C. Create Tran、Commit、RollBack D. Begin Tran、Continue、End

79 下列SQL Server2000语句中出现语法错误的是(B)。

A. DECLARE @Myvar INT B. SELECT * FROM [AAA] C. CREATE DATABASE AAA D. DELETE * FROM AAA

80 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快数据的(D)速度。

A. 插入 B. 修改 C. 删除 D. 查询 81关于数据描述对的是(C)

A数据是数字与符号的集合 B程序也可称为数据

C描述事物的符号记录称为数据 D图形图像等类型属于多媒体范围,不算数据 82数据库的定义不对的是(A)

A数据仓库 B 可共享的数据集合 C有较小冗余的数据集合 D 较高独立性的数据集合 83数据库管理系统是(D)。

A 可供一般用户使用的系统 B 一个软件硬件相结合的系统

C 供管理员使用的系统 D 介于用户与操作系统间的一个软件 84关于数据库的数据控制功能不包括(A)

A数据库恢复 B安全性控制 C 分布式控制 D并发控制 85数据模型是(A)

A表示实体间联系的模型 B现实世界数据的描述 C用表来表示 D信息模型的具体化 86进行自然联接运算的两个关系必须具有(B)

A相同属性个数 B 公共属性 C 相同关系名 D 相同关键字 87 DB、DBMS和DBS三者间的关系是(B)

A DB包括DBMS和DBS B DBS包括DB和DBMS C DBMS包括DBS和DB D DBS与DB和DBMS无关 88 SQL的查询语句的WHERE子句中,关于空值对的是(C)

A字段=NULL B 字段<>NULL C 字段 IS NULL D 字段 NOT IS NULL 89 关于关系系统不正确的说法是(B)

A 是一个软件系统 B是RDBMS C 支持关系模型的系统 D 支持表结构的系统 90 以下的英文缩写中表示数据库管理系统的是(B)。 A.DB B.DBMS C.DBA D.DBS 91 DBMS是( C)。

A. 操作系统的一部分 B.一种编译程序

C.在操作系统支持下的系统软件 D.应用程序系统 92 SQL语言中,删除一个表的命令是(B)

A. DELETE B. DROP C. CLEAR D. REMOVE

93 (B)是按照一定的数据模型组织的,长期存储在计算机内,可为多个用户共享的数据的聚集。

A.数据库系统 B.数据库 C.关系数据库 D.数据库管理系统 94 (C)处于数据库系统的核心位置。

A.数据模型 B.数据库 C.数据库管理系统 D.数据库管理员 95 (A)是数据库系统的基础。

A.数据模型 B.数据库 C.数据库管理系统 D.数据库管理员

96 数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统(B)。

A.有专门的软件对数据进行管理 B.采用一定的数据模型组织数据 C.数据可长期保存 D.数据可共享

97 关系数据模型通常由3部分组成,它们是(B)。

A. 数据结构、数据通信、关系操作 B. 数据结构、关系操作、完整性约束 C. 数据通信、关系操作、完整性约束 D. 数据结构、数据通信、完整性约束 98 要想成功地运转数据库,就要在数据处理部门配备( B)。

A.部门经理 B.数据库管理员 C.应用程序员 D.系统设计员 99下列说法不正确的是(A)。

A.数据库避免了一切数据重复 B.数据库减少了数据冗余

C.数据库数据可为经DBA认可的用户共享 D.控制冗余可确保数据的一致性 100 所谓概念模型,指的是(D)。

A.客观存在的事物及其相互联系 B.将信息世界中的信息数据化

C.实体模型在计算机中的数据化表示D.现实世界到机器世界的一个中间层次,即信息世界

101 在概念模型中,将实体所具有的某一特性称为(C)。

A.外码 B.候选码 C.属性 D.实体型 102 在数据库技术中,实体-联系模型是一种( D)。

A. 逻辑数据模型 B. 物理数据模型 C. 结构数据模型 D. 概念数据模型 103 一个学生可以同时借阅多本图书,一本图书一次只能由一个学生借阅,学生和书之间为(C)的联系。

A.一对一 B.一对多 C.多对多 D.多对一

104 一个仓库可以存放多种零件,每种零件可以存放在不同的仓库中,仓库和零件之间为(C)的联系

A.一对一 B.一对多 C.多对多 D.多对一 105 E-R图中的联系可以与(C)实体有关。

A.0个 B.1个 C.一个或多个 D.多个 106用E/ R图表示学生选课,图中正确的是(C)。

107下列关于数据库运行和维护的叙述中,(D)是正确的。

A.只要数据库正式投入运行,标志着数据库设计工作的结束。 B.数据库的维护工作就是维护数据库系统的正常运行。 C.数据库的维护工作就是发现错误,修改错误。

D.数据库正式投入运行标志着数据库运行和维护工作的开始。 108 DBMS对数据库的维护功能主要通过( D)实用程序实现。

A.数据装载程序 B.备份程序 C.文件重组织程序 D.性能监控程序

109下面(B)不是数据库系统必须提供的数据控制功能。

A.安全性 B.可移植性 C.完整性 D.并发控制

110(C)是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位

A.程序 B.命令 C.事务 D.文件

111 事务是数据库操作的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于(B)状态。

A.安全性 B.一致性 C.完整性 D.可靠性

112多用户的数据库系统的目标之一是使它的每个用户好像面对着一个单用户的数据库一样使用它,为此,数据库系统必须进行(C)。

A.安全性控制 B.完整性控制 C.并发控制 D.可靠性控制 113解决并发操作带来的数据不一致性问题普遍采用(A)。 A.封锁 B.恢复 C.存取控制 D.协商 114 在SQL Server中,有关页的叙述中正确的是(B)。

A.页是除行外的最小数据单位

B.一个页有8KB

C.表中的行不能跨页存放,一行的数据必须在同一个页上 D.8个连续的页称为1个簇

115 以下关于SQL语句的书写准则中不正确的是(A)。 A. SQL语句对大小写敏感,关键字需要采用大写形式 B. SQL语句可写成一行或多行,习惯上每个子句占用一行 C. 关键字不能在行与行之间分开,并且很少采用缩写形式 D. SQL语句的结束符为分号“;”

116 对于数据库的管理,SQL Server的授权系统将用户分成四类,并将它们按权限大小分层,其中权限最大的是(B)

A 一般用户 B 系统管理员 C 数据库拥有者 D 数据库对象拥有者

117 使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用(D)保留字。

A. UNIQUE B.ALL C.EXCEPT D.DISTINCT 118 在以下SELECT 语句的子句中,放在最后的应该是(D)子句。

A.GROUP BY B.HAVING C.WHERE D.ORDER BY 119 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的(C)子句。 A. DELETE B. DROP C. MODIFY D. ADD 120 向基本表中增加一个新列后,原有元组在该列上的值是(C)。

A.TRUE B.FALSE C.空值 D.不确定 121 查询中需要统计元组的个数时,应使用(C)函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 122 查询中需要统计某列中值的个数应使用(B)函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 123 若用如下的SQL语句创建一个student表:

CREATE TABLE student( NO CHAR(4) NOT NULL,

NAME CHAR(8) NOT NULL, SEX CHAR(2),

AGE SMALLINT );

可以插入到student表中的是(B)。

A.('1031','曾华',男,23) B.('1031','曾华',NULL,NULL) C.(NULL,'曾华','男',23) D.('1031',NULL,'男',23)

第126题到第128题基于这样的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为成绩

124 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是(C)。 A. SELECT S.SN,SC.C#,SC.GRADE 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

127 SQL Server提供了4种通配符,?、%、[ ]、和^。若要表示一个4位的字符串,该字符串以T开头,后四位是1到5的数字,正确的表示方法是(D)。 A.'T????' B.'T%' C.'T[1-5][1-5][1-5][1-5]' D.'T[1,2,3,4,5][1,2,3,4,5][1,2,3,4,5][1,2,3,4,5]' 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

76. 基本表中的记录数越(多),每条记录占用的字节数越(多)时,使用索引就越有利。 77. 创建索引的命令关键字为(CREATE INDEX),删除索引的命令关键字为(DROP INDEX)。 78. 在索引命令中使用关键字CLUSTERED或NOCLUSTERED分别表示将建立的是(聚集)或(非聚集)索引。

79. 在基本表的某个列上建立索引,可以使基本表中的所有记录按该列值的(升序或降序)排列。

80. 当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个(非空)唯一和(聚集)的索引。

81. 当指定基本表中某一列或若干列为UNIQUE约束时,则系统将在这些列上自动(建立(创建))一个唯一值(索引)。

82. 若规定基本表中某一列或若干列为非空和唯一值双重约束,则这些列就是该基本表的(备用(侯选码)码),若只规定为唯一值约束,则(不允许)空值重复出现。

83. 在SQL Server2000中,前后相邻的语句之间可以使用(空格)、(分号)或(换行)字符分开。 84. 在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用(单条)语句,也可以使用具有(BEGIN...END)格式的语句块。

85. 声明游标语句的关键字为(DECLARE CURSOR),该语句必须带有(查询(或SELECT))子句。 86. 使用游标对基本表进行修改和删除操作的语句中,WHERE选项的格式为“(WHERE CURRENT OF <游标名>)”。

87. 在一个存储过程定义的AS关键字前可以定义该过程的(参数),AS关键字之后为该过程的(过程体)。

88. 创建和删除一个触发器的语句关键字为(CREATE TRIGGER)和(DROP TIRGGER)。 89. 在一个表中最多只能有一个关键字为(PRIMARY KEY)的约束,关键字为FOREIGN KEY的约束可以出现(多)次。

90. CHECK约束被称为(检查)约束,UNIQUE约束被称为(唯一值)约束。

91. 使用一种约束时,可以使用关键字(CONSTRAINT)和标识符(<约束名>)的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。

92. 当一个表带有约束后,执行对表的各种(更新)操作时,将自动(检查)相应的约束,只有符合约束条件的合法操作才能被真正执行。

93. 在SQL Server2000中,数据库的安全机制分为4个等级,分别为客户端(操作系统)的安全、数据库的(登录)安全、数据库使用安全和数据库对象的使用安全。 94.数据库系统中传统的三种数据模型有层次模型、(网状模型)和(关系模型)。 95.关系模式的三类完整性是(实体完整性 )、(参照完整性)和用户自定义的完整性。 96.聚合函数(“count(distinct 列名)”)的语义是不重复列的计数。

97.视图是定义在(表或视图)之上的虚表,它实质是在内存中经过编译的(select)语句。 98.向已存在的表的某一列或某几列添加主键约束,表中已有的数据在这几列上需要满足两个条件:(没有重复值和都不能为空) 。

99. 数据是信息的符号表示或称载体;信息是数据的内涵,是数据的语义解释。例如“世界人口已达到20亿”,这是(信息)。

100. 关系数据库是采用(二维表)作为数据的组织方式。 101. 当数据的物理存储改变了,应用程序不变,而由DBMS处理这种改变,这是指数据的(物理独立性)。

102. 联系既可以存在不同的实体之间,还可以在(一个实体内部)存在。 103. (企业管理器)是用于管理SQL Server对象的方便而实用的图形化工具,它是SQL Server工具中最重要的一个,通过它可以对SQL Server数据库进行管理和操作。

104. (查询分析器)是一个可以交互执行SQL语句和脚本的图形工具,它的主要功能是编辑、编译和执行T-SQL语句,并显示命令结果。

105. (服务器网络实用工具)用于监视与分析SQL Server 活动、SQL Server服务器的网络进出流量或发生在SQL Server上的事件。 106.(数据的安全性)是指保护数据库,防止未经授权的或不合法的使用造成的数据泄露、更改破坏。

107.数据库的存取控制机制主要包括两部分:(定义用户权限)和进行权限检查。

108.安全认证是指数据库系统对用户访问数据库系统时所输入的(账号)和(口令)进行确认的过程。

109.SQL Server的用户或角色分为二级:一级为(服务器级用户或角色);另一级为(数据库级用户或角色)。

110.SQL Server有一个默认的登录账号(sa(SystemAdministrator)),在SQL Server系统中它拥有全部权限,可以执行所有的操作。

111. SQL Server 2000有两种安全认证模式,即(Windows安全认证模式)和(SQL Server认证模式)。

112.求0至9随机整数的表达式是(Floor(10*rand(1))) 113.求一个字符串的第四个字符的asc码值的表达式 (ascii(substring(字符串名,4,1))) 114.求从现在开始115天后的时间表达式(dateadd(day, 115 ,getdate()))。 115.(索引)是一种常用的改善数据库性能的技术。

116. 使用create database命令定义一个数据库,包括定义(数据)文件和(日志)文件两个部分。

三、名词解释、简答

1.数据库:数据库是存储数据和其他数据库对象的操作系统文件,是数据库服务器的主要组件,是数据库管理系统的核心。

2.表:表是数据库中的主要对象,用来存储各种各样的信息。表是由行和列组成的。 3.索引:索引就是表中数据和相应存储位置的列表。

4.存储过程:存储过程是存储在服务器上的一组预编译的Transact-SQL语句。 5. DTS:数据转换服务

6.如何验证SQL Server系统的正确安装结果

答:一般如果安装过程中没有出现错误提示,那么就可以认为安装是成功的。也可以使用一些方法来验证SQL Server系统的是否正确安装,如:检查Microsoft SQL Server的服务和工具是否存在,应该自动生成的系统数据库和样本数据库是否存在,以及有关文件和目录是否正确等。

7.创建数据库的3种方法

答:在Microsoft SQL Server系统中,有3种创建数据库的方法: (1) 使用CREATE DATABASE语句 (2) 使用Create Dacabase Wizard

(3) 使用SQL Server Enterprise Manager 8.创建索引的3种方法

答:在Microsoft SQL Server系统中,有3种创建索引的方法: (1) 使用CREATE INDEX语句 (2) 使用Create Index Wizard (3) 使用Index Turning Wizard

9.当备份某个数据库时,SQL Server执行哪些操作

答:当备份某个数据库时,SQL Server执行如下操作:

(1)检查点机制检查数据库,记录最早的事务日志记录的日志序列号; (2)通过直接阅读磁盘,把全部的数据页写进备份介质中 (3)从捕捉的序列号到日志末尾,写全部的事务日志记录 10.为什么说SQL Server是关系系统,试举例说明。

答:SQL语言是一种高度非过程性的关系数据库语言,采用的是集合的操作方式,操作的对象和结果都是元组的集合,同时SQL语言集数据查询、数据定义、数据操纵、数据控制为一体,功能强大,得到了越来越大广泛的应用。比如一个学生表S,学号、姓名、性别、出生年月,都存在着关系。 11.SQL有何优缺点?

答:SQL是结构化查询语言的缩写,虽然叫查询语言,但它的功能已经远远超出了查询,是一种集多种功能为一体的关系数据库标准语言。它是一种高度非过程性的关系数据库语言,采用的是集合的操作方式,操作的对象和结果都是元组的集合,用户只需知道“做什么”,无需知道“怎么做”,因此SQL语言接近英语自然语言,结构简洁、易学易用。同时SQL语言集数据查询、数据定义、数据操纵、数据控制为一体,得到了越来越广泛的应用。 四、判断题

1.安装Microsoft SQL Server 2000 企业版对操作系统的最低要求可以是Microsoft Windows 2000 Professional。(B)

2.每一个服务器必须属于一个服务器组。一个服务器组可以包含0个、一个或多个服务器。(A)

3.认证模式是在安装SQL Server过程中选择的。系统安装之后,可以重新修改SQL Server系统的认证模式。(B )

4.在创建表时,不能指定将表放在某个文件上,只能指定将表放在某个文件组上。如果希望将某个表放在特定的文件上,那么必须通过创建文件组来实现。(A)

5.当用户定义的数据类型正在被某个表的定义引用时,这些数据类型不能被删除。(A) 6.在使用子查询时,必须使用括号把子查询括起来,以便区分外查询和子查询。(A) 7.索引越多越好。(B)

8.视图本身没有数据,因为视图是一个虚拟的表。( A)

9.创建触发器的时候可以不是表的所有者或数据库的所有者。(B )

10.在一个表上只能创建一个主键。 (B )

11.建立索引可以提高对表的的更新速度。 ( B ) 12.windows xp系统上应安装sql server 2000 个人版。 (A) 13.表中可以有多个外键。(A)

14.存储过程由应用程序调用,在客户机上执行。 ( B ) 15.Sql server 2000 中不存在其它dbms系统中的逻辑数据类型。 (A) 16.表的数据行唯一特性可以由主键来实现。 (A)

17.数据文件只能是一个文件组的成员。 (A ) 18.只要得到了sql server服务器的登陆帐号及密码, 就可以访问其管理的数据库中的数据。 (B )

19.创建视图时不能参考临时表. (A) 20.在一个表上只能建一个聚簇索引. (A)

21.在一个表上可以由多个列组合作为一个主键。 (A) 22.用户不能定义全局变量,但可以修改。( B) 23.主键是不能为null的。( B)

24.事务日志文件不属于任何文件组。(B)

25.要访问数据库中的数据,必须得到访问该数据的功能许可。( B )

26.Sql server 的导入功能是将原来备份的数据,再重新还原到数据库中。 ( B ) 27.在数据库系统中,数据独立性指数据之间的相互独立,互不依赖。(B) 28.关系型数据库系统中,无论设计关系多么合理,也一定存在数据冗余。(A ) 29.表中任意两行的值不能相同,任意两列的值也不能相同。(B)

30.如果A表中有相对于B表的外键,则B表不能直接删除,一定要A表删除后B表才能删除。(A )

31.表上的主键可以由多个列组成,一个表上也可以创建多个主键。(B) 32.SQL Server用户不能定义全局变量,但可以查询全局变量。(A) 33.SQL Server的事务日志文件记录了所有对数据库访问的操作。(B) 34.触发器和引发该触发器的操作是作为一个事务处理的。(A ) 35.数据库系统中,用户是最重要的。(B ) 36.数据库是整个数据库系统的基础。(B )

37.数据库中表有数据存储,视图也有数据存储。( B ) 38.在数据表定义时设置外键是数据库的安全性控制之一。(B ) 39.一个表中可以同时存在多个候选索引. (A ) 40.唯一性约束(unique)可以自动创建主键. (B) 41.在外键上一般应考虑建立索引。(A) 42. 关系图实现关系模型中的域完整性。(B)

43.由同一张E-R生成关系模型的关系个数是唯一的。 (B) 44. 局部临时表只能对创建他的用户是可见的。(A) 45.实体的多对多联系必须形成一个独立的关系。( A) 46. 在表中可以建立多个标识列(identity). (B) 47.Sql标准语言是采用集合操作。(A)

五、根据下面所给的AAA数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能

假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。 1.create procedure xxk3 as begin

select 学号,avg(成绩) as 平均成绩 from score group by 学号 end

**显示出AAA库中每个学生的平均成绩。 2.create procedure xxk4 (

@a char(8),@b varchar(10),@c numeric(5,2) ) as begin

update score

set 成绩=@c

where 学号=@a and 课程名=@b end

**修改score表中学号为@a的值、课程名为@b的值的学生的成绩为@c的值。 3.create procedure xxk5 (

@a char(8),@b varchar(10),@c numeric(5,2) ) as begin

insert into score values(@a,@b,@c) end

**向score表中插入学号为@a的值、课程名为@b的值、成绩为@c的值的学生成绩记录。 4.create procedure xxk6 (

@a char(8),@b varchar(10) ) as begin

delete from score

where 学号=@a and 课程名=@b end

***从score表中删除学号为@a的值、课程名为@b的值的学生成绩记录。 5. create table students (

学号 char(8) primay key, 姓名 varchar(8), 年龄 int,

专业 varchar(20), 入学日期 datetime )

****创建Students表。

6. ALTER DATABASE AAA MODIFY FILE ( NAME = AAA_data, SIZE = 5,

MAXSIZE=10 )

***将AAA数据库的初始大小更改为5MB,最大空间限定为10MB。

7. 假设Students表中已存在大量学生记录,求所有“计算机软件”专业学生的平均年龄,如果平均年龄大于19则显示“平均年龄超过19”,否则显示“平均年龄没有超过19”。 IF (Select Avg(年龄) From Students Where 专业=’计算机软件’)>19 SELECT ‘平均年龄超过19’ ELSE

SELECT ‘平均年龄没有超过19’ 8. SELECT * FROM Students

WHERE DATEPART(year,入学日期) =DATEPART(year,GETDATE()) **从Students表中查询出所有当年(系统时间)入学的学生记录。 9.create procedure xxk3 as begin

select 学号,max(成绩) from score group by 学号 end

***显示出AAA库中每个学生的最高成绩 10. DECLARE @MyNO CHAR(8) SET @MyNO='20030001'

IF (SELECT 专业 FROM Students WHERE 学号=@MyNO)='计算机软件' BEGIN

SELECT AVG(成绩) AS 平均成绩 FROM Score

WHERE 学号=@MyNO END

ELSE

PRINT '学号为' +@MyNO+'的学生不存在或不属于软件专业' GO

**首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为@MyNo的学生不存在或不属于软件专业”。 11. declare @a numeric(5,2)

set @a=(select avg(成绩) from score) select * from score

where 成绩>=@a

**从score表中查询出大于等于平均成绩的所有记录。 12. declare @a numeric(5,2),@b numeric(5,2) set @a=(select max(成绩) from score) set @b=(select min(成绩) from score) print @a-@b

**求出score表中最高成绩与最低成绩的分数之差。 13.create procedure xxk2 as begin

select x.学号,x.姓名,x.专业,count(*) as 门数 from students x,score y where x.学号=y.学号

group by x.学号,x.姓名,x.专业

end

***显示出AAA库中每个学生的学号、姓名、专业等信息及选课门数

六、在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为: 学生(学生号 char(7),姓名 char(6),性别 char(2),出生日期 datetime, 专业 char(10),年级 int)

课程(课程号 char(4),课程名 char(10),课程学分 int) 选课(学生号 char(7),课程号 char(4),成绩 int) 按分析下列所给程序语句的相应功能。 1.select * from 学生 where exists (

select * from 选课

where 学生.学生号=选课.学生号

group by 选课.学生号 having count(*)=3 )

**从教学库中查询出同时选修了3门课程的全部学生。 2.select 专业,count(*) as 专业人数 from 学生 group by 专业

order by 专业人数 desc

**从教学库中查询出每个专业的学生人数,并按人数多少降序排列。 3.select 专业,性别,count(*) as 人数 from 学生

group by 专业,性别 order by 专业

**从教学库中查询出每个专业每种性别的学生人数,并按专业排列。 4.select x.*,课程名,课程学分,成绩 from 学生 x,课程 y,选课 z

where x.学生号=z.学生号 and y.课程号=z.课程号

**从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。 5.select * from 学生

where not exists (

select y.课程号

from 学生 x inner join 选课 y on x.学生号=y.学生号

where x.姓名=@a and not exists (

select * from 选课

where 学生.学生号=选课.学生号 and y.课程号=选课.课程号 )

)

***从教学库中查询出选修了姓名为@a的学生的全部选课的所有学生。

七、在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为: 商品表1(商品代号 char(8),分类名 char(8),单价 float,数量 int) 商品表2(商品代号 char(8),产地 char(6),品牌 char(6))。 按照下列所给的每种功能写出相应的查询语句。

1. 查询品牌为”Hair”所用商品的商品代码、数量、单价 Select商品表1.商品代号,数量,单价 from 商品表1,商品表2

where 商品表1.商品代号=商品表2.商品代号 and商品表2.品牌=‘Hair’ 2.商品库中查询出每种商品的总价值,并按降序排列出来。 select *,单价*数量 as 总价值 from 商品表1

order by 总价值 desc

3.从商品库中查询出数量最多的一种商品。 select *

from 商品表1

where 数量=some(select max(数量) from 商品表1)

4.从商品库中查询出同一类商品多于一种的所有分类名。 select distinct 分类名 from 商品表1

group by 分类名 having count(*)>1 5.查询每种品牌商品的总数量及品牌。 Select 品牌,sum(数量) as 总数量 from 商品表1,商品表2

where 商品表1.商品代号=商品表2.商品代号 group by 品牌

6.商品库中查询出同一产地的商品只有一种的所有商品。 select 商品表1.*,产地 from 商品表1,商品表2

where 商品表1.商品代号=商品表2.商品代号 and 产地 in (select 产地 from 商品表1 x,商品表2 y

where x.商品代号=y.商品代号 group by 产地 having count(*)=1)

八、有一个“学生-课程”数据库,数据库中包括三个表: (1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。 (2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 (3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。

根据下列数据库和表,用T-SQL完成下列操作(1题2', 2至7题,每题3')。 1、查所有选修过课的学生的学号

SELECT DISTINCT Sno FROM SC;

2、 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。 CREATE TABLE Student

(Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(1), Sage INT,

Sdept CHAR(15));

3、查考试成绩有不及格的学生的学号 SELECT DISTINCT Sno FROM Course WHERE Grade <60;

4、查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列 SELECT Sno, Grade FROM SC

WHERE Cno='3'

ORDER BY Grade DESC;

5、查询每门课程的学生最高低分数 SELECT CNO,MIN(Grade) FROM SC

GROUP BY CNO;

6、查询与“刘晨”在同一个系学习的学生 SELECT Sno, Sname, Sdept FROM Student

WHERE Sdept IN (SELECT Sdept FROM Student

WHERE Sname='刘晨');

7、将计算机科学系全体学生的成绩置零 UPDATE SC SET Grade=0 WHERE ‘CS’= ( SELECT Sdept FROM Student

WHERE Student.Sno=SC.Sno); 九、 操作题 完成下列操作:

1、查询全体学生的详细记录 SELECT * FROM Student;

2、查询年龄在20至23岁之间的学生的姓名、系别、和年龄 SELECT Sname, Sdept, Sage

FROM Student

WHERE Sage BETWEEN 20 AND 23; 3、计算1号课程的学生平均成绩 SELECT AVG(Grade) FROM SC

WHERE Cno='1';

4、创建一个名为SALE的数据库,其主文件名为SALE_dat,日志文件名为SALE_log,实际存储在c:\\program files\\Microsoft sql server\\mssql\\data\\上,其初始大小分别为10M和5M,每次允许增量为10%,最大允许增加到15M和20M; CREATE DATABASE SALE ON

( NAME=SALE_data,

FILENAME='c:\\program files\\Microsoft sql server\\mssql\\data\\Sale.mdf', SIZE=10,

MAXSIZE=15,

FILEGROWTH=10%) LOG ON

(NAME='SALE_log',

FILENAME='c:\\programfiles\\Microsoftsqlserver\\mssql\\data\\sale_log.ldf' SIZE=5,

MAXSIZE=20,

FILEGROWTH=10%) GO

5.建立saler表,要求该表含saler_id , saler_name , phone , fax 几列,具体类型自定,saler_id列非空;

Create table saler

( saler_id numeric(10,0) NOT NULL, saler_name char(100), phone numeric(8,0), fax varchar(30) )

6.修改saler表,将saler_name 列改为varchar(50),允许空,删除Fax列,并增加一个\列;

alter table saler

alter column saler_name varchar(50) NULL go

alter table saler

add address char(100) NULL GO

alter table saler drop column fax go

7.向saler表中添加三条记录,其中一条记录的saler_id 为 123 ,有一条记录的phone为23328998; Use SALE Go

Insert saler

( saler_id , saler_name , phone , address ) Values

(‘123',' Tony','27406483','NewYork') Go

Insert saler

( saler_id , saler_name , phone , address ) Values

(‘2366',' Tony','23328998','Sydney')

8.修改SALE数据库中saler表指定的saler_id 为123记录的值,指定其saler_id 为1234,saler_name 为 Jonny,phone 为22228888 ,address 为 ShangHai ; Use SALE Go

UPDATE saler

SET saler_id = ‘1234' ,

saler_name = ‘Jonny ‘ , phone = ‘22228888' , address = ‘ShangHai' , WHERE saler_id = ‘123' go

9.删除saler表中所有电话为23328998的记录; Use SALE Go

DELETE FROM saler

WHERE phone = ‘23328998' Go

10. 先删除表saler中的所有数据,然后删除表saler,最后将SALE数据库删除; Use SALE truncate saler go

DROP TABLE saler Go

DROP DATABASE SALE GO

十、完成下列操作:

1、 向Student表增加“入学时间”列,其数据类型为日期型。

ALTER TABLE Student ADD Scome DATE; 2、删除Student表

DROP TABLE Student ; 3、查询全体学生的学号与姓名 SELECT Sno, Sname FROM Student;

4、查所有选修过课的学生的学号 SELECT DISTINCT Sno FROM SC;

5、查所有年龄在20岁以下的学生姓名及其年龄 SELECT Sname, Sage FROM Student WHERE Sage <20;

6、查所有姓刘的学生的姓名、学号和性别 SELECT Sname, Sno, Ssex FROM Student

WHERE Sname LIKE '刘%';

7、查姓“欧阳”且全名为三个汉字的学生的姓名 SELECT Sname FROM Student

WHERE Sname LIKE '欧阳__';

8、计算1号课程的学生平均成绩 SELECT AVG(Grade) FROM SC

WHERE Cno='1';

9、查询学习1号课程的学生最高分数 SELECT MAX(Grade) FROM SC

WHERE Cno='1';

10、将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入Student表中 INSERT

INTO Student

VALUES ('95020', '陈冬', '男', 'IS', 18); 11、将学生95001的年龄改为22岁 UPDATE Student SET Sage=22

WHERE Sno='95001';

12、删除学号为95019的学生记录 DELETE

FROM Student

WHERE Sno=‘95019’;

13、删除计算机科学系所有学生的选课记录 DELETE

FROM SC WHERE 'CS'= (SELETE Sdept FROM Student

WHERE Student.Sno=SC.Sno);

十一、以书中教务管理数据库为例,用T-SQL语句完成完成下列查询功能: ?1.显示每个学生的学号、姓名、班级、课程名称、成绩及总分。 select

student.student_id,student.student_name,student.class_id,course.course_name,student_course.grade from student,course,student_course

where student.student_id=student_course.student_id and course.course_id=student_course.course_id order by student.student_id

compute sum(grade) by student.student_id

?2.显示各班的各门功课的最高分、最低分和平均分。

Select student.class_id,max(grade),min(grade),avg(grade) from student,student_course Where student.student_id=student_course.student_id Group by student.class_id Order by student.class_id

?3.检索84年、85年出生的学生姓名、班级、性别、年龄和出生日期。

select student_name,class_id,sex,2007-year(birth)as age,birth from student where year(birth)=1984 or year(birth)=1985

?4.显示各位教师的姓名、任教课程及相应班级及上课地点。 select

teacher.teacher_name,course.course_name,teacher_course_class.class_id,teacher_course_class.course_classroom

from teacher,course,teacher_course_class where teacher.teacher_id=teacher_course_class.teacher_id and teacher_course_class.course_id=course.course_id

?5.统计不同职称的教师的人数,并显示教师姓名、职称。 select teacher_name,profession from teacher

order by profession

compute count(profession) by profession

?6.显示上海、南京、北京等地的学生姓名、地址,并统计相应的人数。 select student_name,home_addr from student

where home_addr like '%上海%' or home_addr like '%南京%'or home_addr like '%北京%' compute count(student_name) ?7.显示书名,出版社,作者及价格;

select book_name,publish_company,author,price from book ?8.将所有书的价格打九折显示;

select book_name,publish_company,author,price*0.9 from book ?9.显示84年以后出生的学生的姓名,性别,班级及出生日期; select student_name,sex,class_id,birth from student

where year(birth)>1984

?10.显示g99402班的男生的所有信息;

select * from student where class_id='g99402' and sex='1' ?11.按出生日期排序显示学生的姓名,性别,出生日期及住址; select student_name,sex,birth,home_addr from student order by birth

?12.显示每个学生的学号,总分;

select student_id,sum(grade) from student_course group by student_id

?13.按学号排序显示每个学生的学号,姓名,课程号及成绩; select

student.student_id,student.student_name,student_course.course_id,student_course.grade from student,student_course

where student.student_id=student_course.student_id order by student.student_id

?14.显示每个学生的学号,姓名,课程名称及成绩; .select

student.student_id,student.student_name,course.course_name,student_course.grade from student,course,student_course where student.student_id=student_course.student_id and course.course_id=student_course.course_id order by student.student_id

?15.显示成绩不及格,及80分以上的学生学号,姓名,课程名称及成绩; Select

student.student_id,student.student_name,student.class_id,course.course_name,student_course.grade from student,course,student_course where student.student_id=student_course.student_id and course.course_id=student_course.course_id and (grade<60 or grade>=80) order by student.student_id,grade

?16.显示不同班级的各课程的最高分,最低分及平均分;

select class_id,max(grade)as max,min(grade) as min ,avg(grade) as avg from student,student_course

where student.student_id=student_course.student_id group by class_id order by class_id

?17.显示林红同学不选的课程号; select course_id from course

where course_id not in(select course_id from student_course,student where student.student_id=student_course.student_id and student.student_name='林红') 18 显示成绩都大于80分的学生的学号 Select student_id from student_course Group by student_id having min(grade)>80

十二、某科研部门为了进行科研情况管理,设计了如下三个数据表:

科研课题表KYKT:KTID(课题编号).KTNAME(课题名称).KTJF(课题经费)(万元计)

科研情况表KYQK:RYID(人员编号).KTID(课题编号).SBF(设备费).GZL(工作量:日).SYJF(使用经费)

科研人员表KYRY:RYID(人员编号).RYNAME(人员姓名).ZC(职称).SEX(性别).ADDR(地址)

按要求写出SQL查询语句:

(1) 查询课题经费大于100万元的课题编号及其名称。 SELECT KTID,KTNAME FROM KYKT WHERE KTJF>100

(2) 查询同时参加编号为101和105课题的科研人员编号。

SELECT K1.RYID FROM KYQK AS K1,KYQK AS K2 WHERE K1.RYID=K2.RYID AND K1.KTID=’101’AND K2.KTID=’105’ 或

SELECT RYID FROM KYQK WHERE KTID=’101’ AND RYID IN (SELECT RYID FROM KYQK WHERE KTID=’105’)

(3) 查询科研情况表中所有科研人员的编号。 SELECT DISTINCT RYID FROM KYQK (4) 检索67号科研人员的信息。 SELECT * FROM KYRY WHERE RYID=’67’ (5) 检索102号课题的平均工作量

SELECT AVG(GZL) FROM KYQK WHERE KTID=’102’

(6) 检索工作量在300-400日课题编号.人员编号及工作量.并按工作量降序排序。 SELECT KTID,RYID,GZL FROM KYQK WHERE GZL BETWEEN 300 AND 400 (7) 在科研人员中追加一个科研人员(53,DAIHONG,DOTOR,MALL,TIAJIN)。 INSERT INTO KYRY VALUES(‘53’,DAIHONG,DOCTOR,MAIL,TIANJING) (8) 删除58号科研人员的所有科研课题。 DELECT FROM KYQK WHERE KYID=’58’ (9) 修改203号课题的课题经费为100万元。 UPDATE KYKT SET KTJF=100 WHERE KTID=’203’ (10)

把69号科研人员的工作量减少10% 。

UPDATE KYQK SET GZL=0.9*GZL WHERE RYID=’69’

本文来源:https://www.bwwdw.com/article/e728.html

Top