数据库题库

更新时间:2023-11-14 13:52:01 阅读量: 教育文库 文档下载

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

一.单选题

1.下列关于视图的说法,错误的是 A. 视图是虚表,其数据并不物理保存 B. 视图属于外模式

C. 使用视图可以简化客户端查询语句 D. 使用视图可以加快查询语句的执行速度 2.已知SN是一个字符类型的字段,有查询语句:SELECT SN FROM S WHERE SN LIKE 'AB%' 该查询语句的执行结果是

A. 含有3个字符‘AB%’的所有SN字段

B. 仅含有3个字符且前两个为‘AB’的SN字段 C. 以字符串‘AB’开始的所有SN字段 D. 含有字符‘A’或‘B’的所有SN字段 3.数据库的结构设计不包括 A.逻辑结构设计 B. 物理结构设计 C.概念结构设计 D.用户界面设计

4.在SQL Server中nvarchar(n)类型中,n的取值范围为 A. 1~4000 B. 1~8000 C. 1~6000 D. 1~2000

5.下列SQL语句中,用于修改表结构的是 A. ALTER B. CREATE C. UPDATE D. DROP

6.下述对出生日期进行比较的表达式中,正确的是 A.出生日期 >‘1980/1/1’ B. 出生日期 > 1980/1/1 C. 出生日期 > 1980:1:1 D. 出生日期 > ‘1980:1:1’

7.数据库的外模式和模式间的映像提供的独立性是 A.存储数据 B. 逻辑数据 C.数据结构 D. 数据文件

8.下列属于数据独立性的是 A.概念独立性 B.逻辑独立性 C.安全独立性 D.组织独立性

9.下列不属于数据库行为设计范畴的是 A.功能分析和设计

B.事务设计

C.应用程序设计与实现 D.数据库性能优化

10.通配符“%”表示 A、代表一个字符

B、代表零个或多个字符 C、表示在某一范围的字符 D、表示不在某一范围的字符

11.在数据库的概念设计中,最常用的数据模型是 A、形象模型 B、物理模型 C、逻辑模型 D、实体联系模型

12.下列 SQL语句中,用于在表中增加一个新列的语句是 A、CREATE B、UPDATE C、ALTER D、INSERT

13.下列关于概念数据模型的说法,正确的是 A. 是对现实世界进行建模 B. 是对信息世界进行建模

C. 与具体的数据库管理系统有关 D. 与具体的操作系统有关

14.已知实体A与实体B之间是多对多联系,为描述两个实体之间的关联关系,添加了联系C来关联实体A和B,则C和B之间的联系是 A. 一对一 B. 一对多 C. 多对多 D. 多对一

15.如果要限制“学生”表中的学生年龄字段的取值必须在15到40岁之间,应该使用的约束是 A.CHECK B.UNIQUE C.DEFAULT D.FOREIGN KEY

16.查找全部不姓“张”和不姓“刘”的学生姓名,正确的语句是 A.SELECT SNAME FROM Student WHERE SNAME NOT LIKE '张刘%' B. SELECT SNAME FROM Student WHERE SNAME NOT LIKE '[张,刘]%' C. SELECT SNAME FROM Student WHERE SNAME LIKE '^[张刘]%' D. SELECT SNAME FROM Student WHERE SNAME LIKE '[^张刘]%' 17.若事务T的封锁顺序为:

LOCAK S(A) → LOCK S(B) → LOCK X(C) → UNLOCK (B) → UNLOCK(A) → UNLOCK(C) 则T A. 可能会发生死锁

B.遵守了两段锁协议 C. 不是可串行化的 D. 有可能造成读脏数据

18.对于nvarchar数据类型,下列说法正确的是 A. 最多可以存储长度为8000个汉字的数据 B. 最多可以存储长度为4000个汉字的数据 C. 最多可以存储长度为2000个汉字的数据 D. 存储数据的大小没限制

19.下列属于数据库系统两级映像的是 A.模式与内模式间的映像 B.表与关系之间的映像 C.模式与外模式间的映像 D.列与字段之间的映像

20.当数据的存储位置或存储结构发生变化时,可以不影响应用程序的特性,这属于数据库的

A.概念独立性 B.逻辑独立性 C.物理独立性 D.组织独立性

21.下列全部属于专门关系运算的是 A. U、∩、∞ B. ∏、б、∞ C. U、∩、∏、б D. U、∩、×

22.设R和S为两个基本表,“FROM R RIGHT JOIN S ON R.某列=S.某列”表示 A. 不要求R中的数据满足连接条件 B. 不要求S中的数据满足连接条件

C. 同时要求S和R中的数据均满足连接条件 D. S和R中的数据均可不满足连接条件 23.数据库的备份和恢复机制属于 A.数据库的安全控制 B. 数据库的可靠性 C.数据独立性 D. 数据的共享

24.要限制某表中的“保险号”字段(字符型,非主码)的取值不重复而且不能有空值,下列约束表达式中最合适的是 A. CHECK(保险号 UNIQUE) B. UNIQUE(保险号)

C. NOT NULL UNIQUE(保险号) D. PRIMARY KEY(保险号)

25.下述属于SQL数据操作功能的语句是 A. CREATE B. DELETE C. DROP

D. ALTER

26.当表达现实世界的信息内容发生变化时,如增加列,删除列等,可以不修改应用程序,这属于数据库的 A.概念独立性 B.逻辑独立性 C.物理独立性 D.组织独立性

27.关系中不包含非原子项属性,且每个非主属性都完全函数依赖于主键的范式是 A.第一范式 B.第二范式 C.第三范式 D.第四范式

28.在关系数据库系统中,产生数据不一致的根本原因是 A.数据存储量太大 B. 没有严格的保护数据

C.未对数据进行完整性控制 D. 数据冗余

29.下列关于增量转储的说法,错误的是 A. 增量转储一般比海量转储省时间

B. 增量转储只存储上次转储后发生变化的部分 C. 增量转储只能是动态转储

D. 增量转储可以是静态的也可以是动态的

30.在已有数据的表上定义CHECK约束时,默认情况下 A. 系统在建立约束之前不检查表中的数据

B. 系统在建立约束之前检查表中的数据,符合约束条件时才能建立约束

C. 系统在建立约束之前检查表中的数据,不符合约束条件时会给出提示,但也建立约束 D. 对表中存在的数据不作检查,但对后续新插入的数据作检查。 31.在SQL Server中,在表中添加一个新列的正确SQL语句是 A. ALTER TABLE ADD COLUMN 新列名 数据类型 B. ALTER TABLE ADD 新列名 数据类型

C. ALTER TABLE ALTER COLUMN 新列名 数据类型 D. ALTER TABLE MODIFY COLUMN 新列名 数据类型 32.子句:WHERE 姓名 like ’[张王李]_’ 的作用是 A. 查询姓“张”或姓“王”或姓“李”的人

B. 查询姓“张”或姓“王”或姓“李”且名字为两个字的人 C. 查询名字中有“张”或“王”或“李”的人

D. 查询名字中有“张”或“王”或“李”的两个字的人 33.字符串匹配中“[]'通配符的作用是 A. 匹配括号中的任何一个字符 B. 匹配括号中的全部字符 C. 匹配括号中的0到多个字符 D. 不匹配括号中的任何1个字符 34.概念数据模型包含的内容是 A.内模式、模式和外模式

B. 实体、属性以及实体间的联系 C.表和视图

D. 数据库管理系统和数据库

35.规范化过程主要是为克服数据库逻辑结构中的插入异常、删除异常以及下列哪项的缺陷。

A、数据的不一致性 B、结构的不合理性 C、冗余度大 D、数据丢失

36.下列人员中,不属于数据库用户的是 A.系统管理员

B.数据库对象拥有者 C.普通用户 D.分析人员

37.在二级封锁协议中,事务在进行读操作时 A.全程加锁 B. 不加锁

C.在读之前加锁,读完即解锁

D.在读之前加锁,在事务结束时解锁

38.下列查询年龄最大的学生姓名的SQL语句,正确的是

A. SELECT SNAME FROM STUDENT WHERE SAGE = MAX(SAGE) B. SELECT SNAME FROM STUDENT WHERE MAX(SAGE) = SAGE C. SELECT TOP 1 SAGE FROM STUDENT

D. SELECT SNAME FROM STUDENT WHERE SAGE =(SELECT MAX(SAGE) FROM STUDENT)

39.关系规范化的主要目的是 A. 维护数据完整性 B. 维护数据安全性 C. 维护数据一致性 D. 提供数据查询效率

40.设要限制“所在系”的取值只能为“计算机系”、“信息系”和“通信系”,正确的约束表达式是

A.CHECK (‘所在系’ IN(‘计算机系’,‘信息系’,‘通信系’)) B.CHECK (‘所在系’ = (‘计算机系’,‘信息系’,‘通信系’)) C.CHECK (所在系 IN(‘计算机系’,‘信息系’,‘通信系’)) D.CHECK (所在系 =(‘计算机系’,‘信息系’,‘通信系’)) 41.删除表的SQL语句是 A. DELETE TABLE B. DROP TABLE C. ALTER TABLE D. UPDATE TABLE

42.下列关于自连接操作的说法,正确的是 A.自连接是在两个物理表上进行的

B.自连接操作是在一个物理表上进行的,需通过取别名方法在逻辑上分成两个表

C.自连接操作在一个逻辑表上进行的,需通过取别名方法将其在物理上分成两个表

D.自连接操作是在一个物理表上进行的,但不需要用取别名方法将其在逻辑上分成两个表 43.在关系数据库,表中各条记录

A.前后顺序很重要,一定是按输入顺序排列的

B.前后顺序不重要,但排列顺序不同,统计处理的结果可能不同 C.前后顺序很重要,一定是按主码值有序排列的

D.前后顺序不重要,而且表中记录的顺序不影响数据关系 44.下列关于索引的说法,错误的是

A.数据库中建立索引是为了加快数据的查询速度。 B.索引建立的越多,查询效率越高 C.索引会占用存储空间

D.索引会增加数据更改的时间

45.若要定义关系模式中的候选键,下列约束中最合适的是 A.CHECK B.外键 C.UNIQUE D. DEFAULT

46.关系数据库中的规范化理论解决的主要问题是 A. 如何构建合适的数据逻辑结构 B. 如何构建合适的数据物理结构 C. 如何构建合适的应用程序界面 D. 如何控制不同用户的数据访问权限

47.已知关系模式:S(学号,姓名,所在系,所在班,班主任),设一个学生只在一个系的一个班学习,一个班只有一个班主任。将此关系模式分解为3NF的正确分解结果是 A. S1(学号,姓名),S2(学号,所在系,所在班,班主任) B. S1(学号,姓名,所在班),S2(学号,所在系,班主任) C. S1(学号,姓名,所在系,所在班),S2(班,班主任) D. 不用分解,原关系模式已经是3NF的了

48.如果两个实体A和B之间是一对多联系,则将其转换为关系模式时,为表达两个实体间的联系,应将外键放在 A. 实体A中 B.实体B中

C.实体A和实体B中各一个 D.不需要外键

49.现有一个“教师”表,其中一个字段是教师的电话号码(字符型,8位长),我们希望限制电话号码的每一位必须是数字。下列约束中正确的: A. CHECK (PHONE LIKE '[0123456789]') B. CHECK (PHONE LIKE '0123456789') C. CHECK (PHONE LIKE '[1-8]')

D. CHECK (PHONE LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

50.假设有关系模式S(Sno,Sname,SDept,SMaster),其中各属性依次分别为:学号、姓名、所在系和系主任(假设一个系只有一个系主任),主键为Sno,则Smaster对Sno的依赖关系是 。

A.完全函数依赖

B.部分函数依赖 C.传递函数依赖 D.其他函数依赖

51.下列关于视图的说法,正确的是

A. 视图的使用与基本表一样,所有视图都支持对数据进行增、删、改、查操作 B. 视图只能从基本表导出

C. 视图与基本表一样也存储数据

D. 对视图的操作,最终都要转化为对基本表的操作

52.设有关系R,现要按条件f对关系R进行选择运算,正确的是 A.R∞fR B.∏f(R) C.бf(R) D.Uf(R)

53.数据库系统的独立性是指

A.不会因为数据的变化而影响应用程序

B.不会因为系统数据的存储结构和逻辑结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响应用程序 D.不会因为某些数据的逻辑结构变化而影响应用程序 54.数据库三级模式结构中用于描述表结构的是 A. 外模式 B. 模式 C. 内模式 D. 数据库文件

55.数据库的结构设计包括 A.表结构和视图结构设计 B.表结构和报表结构设计 C.概念结构和逻辑结构设计

D.概念结构、逻辑结构和物理结构设计 56.若用类型为char(6)的变量存储‘ABC’, 占有的存储空间为 A. 3个字节 B. 6个字节 C. 12个字节 D. 不确定

57.char(10)数据类型的变量,最多可存储的汉字个数是 A. 5 B. 10 C. 20

D. 不能确定 58.设职工表中记录工资的列为:Salary,类型为int,若在查询工资时,希望将工资按‘高’、‘中’、‘低’和‘极低’形式显示,则正确的Case函数是 A.Case Salary

When Salary >4000 THEN Salary = ‘高’

When Salary between 2000 and 4000 THEN Salary = ‘中’

When Salary between 1000 and 1999 THEN Salary = ‘低’ Else Salary = ‘极低’ END

B. Case Salary

When Salary >4000 THEN ‘高’

When Salary between 2000 and 4000 THEN ‘中’ When Salary between 1000 and 1999 THEN ‘低’ Else ‘极低’ END C. Case

When Salary >4000 THEN ‘高’

When Salary between 2000 and 4000 THEN ‘中’ When Salary between 1000 and 1999 THEN ‘低’ Else ‘极低’ END D.Case

When Salary >4000 THEN Salary = ‘高’

When Salary between 2000 and 4000 THEN Salary = ‘中’ When Salary between 1000 and 1999 THEN Salary = ‘低’ Else Salary = ‘极低’ END

59.DISTINCT子句的作用是

A. 去掉DISTINCT词后边列的重复值 B. 去掉某表中的重复行数据 C. 去掉查询结果中的重复行数据 D. 去掉一个列的数据

60.下列不属于组织层数据模型的是 A.关系模型

B.实体-联系模型 C.层次模型 D.网状模型

61.下列关于实体完整性的说法,错误的是

A.实体完整性是保证关系中的每个元组都是可识别的和唯一的 B.关系数据库中所有的表都必须有主键

C.关系数据库的表中不允许存在无主键值的记录 D.关系数据库的表中允许存在主键值相同的记录 62.关系数据库中的数据完整性是指 A. 数据的正确性

B. 数据的独立性、可控性 C. 数据的一致性

D. 数据的有效性和相容性 63.数据库的授权机制属于 A.数据库的安全控制 B. 数据库的可靠

C.数据独立性 D. 数据的共享

64.设实体A与实体B是多对一联系,则一般应设计 A. 两张表,且外键在实体B中 B.两张表,且外键在实体A中 C.一张表,不需要外键

D.三张表,外键在新的表中

65.在关系数据库应用系统设计中,将E-R模型转换为关系模型属于下列哪个阶段的工作 A. 概念设计 B. 逻辑设计 C. 物理设计 D. 需求分析

66.下列聚合函数中,不忽略空值的是 A. SUM(列名) B. MAX(列名) C. AVG(列名) D. COUNT(*)

67.语句“SELECT * FROM Student WHERE sage BETWEEN 20 AND 25”的作用是 A. 查询年龄大于20并且小于25的学生

B. 查询年龄大于等于20并且小于等于25的学生 C. 查询年龄大于20并且小于等于25的学生 D. 查询年龄大于等于20并且小于25的学生

68.在SELECT语句中,用来限制查询结果集行数的谓词是 A.COUNT B.SUM C.TOP

D.BOTTOM

69. DBMS的含义是 A、数据库系统 B、数据库管理员 C、数据库管理系统 D、数据库

70.DB技术中的“脏数据”是指 A、未回退的数据 B、未提交的数据 C、回退的数据

D、未提交随后又被撤消的数据 71.在关系数据库中,主键的作用是 A.实现参照完整性 B.限制列的取值 C.实现域的完整性 D.实现实体完整性

72.在WHERE子句的条件表达式中,匹配单个字符的通配符是 A. *

B. % C. _ D. ?

73.字符串匹配中“[]'通配符的作用是 A. 匹配括号中的任何一个字符 B. 匹配括号中的全部字符 C. 匹配括号中的0到多个字符 D. 不匹配括号中的任何1个字符

74.在SQL语句中,下列不属于数据定义功能的动词为 A. CREATE B.DROP C.SELECT D.ALTER

75.在SQL 语句中,指定列的默认值的语句为 A.UNIQUE B.CHECK

C.PRIMARY KEY D.DEFAULT

76.如果事务T获得了数据项Q上的排它锁,则T对Q A、只能读不能写 B、只能写不能读 C、既可读又可写 D、不能读不能写

77.下列关于外键的说法,正确的是

A.外键必须与所引用的列类型相同,但长度可以不一样 B.外键与所引用的列的类型没有关系

C.外键所引用的列可以和外键在同一个表中 D.外键所引用的列必须在另一个表中

78.设有图书表,结构如下:Books(cBookId ,cBookName ,cBookCategory,cAuthorName ,iPages,iPrice) 下列查询语句中,能够按书名的字母升序顺序显示书名及其价格的是

A、SELECT * FROM Books ORDER BY cBookName ASC

B、SELECT cBookName, iPrice FROM Books ORDER BY cBookName ASC C、SELECT * FROM Books ORDER BY cBookName DESC

D、SELECT cBookName, iPrice FROM Books ORDER BY cBookName DESC 79.为了存储客户的各种信息,按如下方式创建了表Customer: CREATE TABLE Customer (

cCustomerId char(4) primary key, cCustomerName char(20) not null, vAddress varchar(40) null, cCity char(20) null, cState char(20) null, cPhone char(10) null )

下列关于表Customer的叙述,正确的是

A、属性 cCustomerId 函数依赖于属性 cCustomerName, vAddress, cCity, cState和cPhone。 B、属性 cCustomerName, vAddress, cCity, cState和cPhone 函数依赖于属性 cCustomerId。 C、属性 cCustomerName 函数依赖于属性 cCustomerId, vAddress, cCity, cState和cPhone。 D、属性 cCustomerId, vAddress, cCity, cState 和 cPhone 函数依赖于属性cCustomerName。 80.设有关系R(A,B,C)和S(B,C,D)。下列关系代数表达式中不成立的是 A. ∏A(R)×∏D(S) B. R∪S

C. ∏C(R)∩∏C(S) D. R∞S

81.数据库的三个模式两个映象提供了 A. 应用程序和数据的逻辑独立性 B. 应用程序和数据的物理独立性

C. 应用程序和数据的逻辑独立性和物理独立性 D. 应用和数据的存储独立性和物理独立性

82.在SQL Server中,删除表中某个列的正确SQL语句是 A. ALTER TABLE 表名 DELETE 列名

B. ALTER TABLE 表名 DELETE COLUMN 列名 C. ALTER TABLE 表名 DROP 列名

D. ALTER TABLE 表名 DROP COLUMN 列名

83.设有课程表:C (课程号,课程名称,授课教师)、学生表:S (学生号,姓名,性别,年龄)和选课表SC(课程号,学生号,成绩)。如果要查询选了“数据结构”女学生的姓名,涉及到的表有 A. 仅S

B. 仅SC和C C. 仅S和SC D. S、C和SC

84.数据模型的三要素是 A.外模式、模式和内模式

B. 实体完整性、参照完整性和用户定义的完整性 C. 数据、关系表和数据库

D. 数据结构、数据操作和数据完整性约束

85.在SQL 语句中,限制列的取值范围的语句为 A.UNIQUE B.CHECK

C.PRIMARY KEY D.DEFAULT

86.在视图上不能进行的操作是 A. 通过视图更新数据 B. 通过视图查询数据

C. 在视图上定义新的基本表 D. 在视图上定义新的视图

87.在定义视图的语句中,可以包含 A.数据增、删、改、查语句

B.数据的增、删、改、查语句和对象创建语句 C.数据查询语句且仅查询语句 D.数据增、删、改语句

88.若数据库中只包含成功事务提交的结果,则该数据库所处状态是 A. 安全 B. 一致 C. 完整 D. 可靠

89.下列与“WHERE Grade between 60 and 100”子句等价的是 A. WHERE Grade > 60 AND Grade < 100 B. WHERE Grade >= 60 AND Grade <= 100 C. WHERE Grade > 60 OR Grade < 100 D. WHERE Grade >= 60 OR Grade <= 100

90.现有学生表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业),该表的主键是 A.宿舍编号 B. 学号

C. (宿舍编号,姓名) D. (宿舍编号,学号)

91.有关系模式:商品批发(商品编号,批发日期,数量,商店编号),其中商品编号代表唯一的一类商品,商店编号代表唯一的一个商店。允许同一商品在同一天批发给不同的商店,也允许同一商品在不同日期批发给同一商店,但不允许在同一天多次批发给同一商店。则此关系模式的主键是 A.(批发日期) B.(商品编号,商店编号) C.(商品编号,商店编号,批发日期) D.(商品编号,批发日期,数量,商店编号)

92.关系数据库中模式和内模式间的映像提供的独立性是 A.存储数据 B. 逻辑数据 C.数据结构 D. 数据文件

93.如果不允许学生转校,则学校和学生之间的联系是 A.一对一 B.一对二 C.一对多 D.多对多

94.设有关系模式:图书借阅(读者号,书号,借书日期,还书日期),其中书号代表唯一的一本书,若允许读者在不同时间借阅同一本书,则此关系模式的主键是 A.(读者号)

B.(读者号,图书号)

C.(读者号,图书号,借书日期)

D.(读者号,图书号,借书日期,还书日期) 95.事务故障的恢复是 A.用户读取日志文件完成的

B.系统根据日志文件自动完成的 C.是不能恢复的

D.用户强制系统完成的

96.下列不属于SQL语言功能的是 A.数据定义功能 B.数据查询功能 C.数据控制功能 D.数据通信功能

97.下列关于范式的说法,错误的是

A.在关系数据库中,对关系模式的基本要求是要满足第一范式

B.对关系模式的属性间的函数依赖加以不同的限制,就形成了不同的范式 C.第一范式的表比第二范式的表好 D.范式越高,规范化的程度越高

98.一个大学有许多学科,学生在完成相应学科的所有课程之后可以毕业。设一个学生只能就读一个学科。有一些课程是几个学科的公共课程。该大学用SQL Server数据库维护课程(Course)、学科(Discipline)和学生(Student)的详细信息。 下列关于该系统的逻辑模型的说法,正确的是

A、实体Course 和 Student 之间的联系是多对一 B、实体 Course 和Discipline 之间的联系是多对多 C、实体 Discipline 和 Student之间的关系是一对一 D、实体Course 和Discipline 之间的关系是一对多

99.假设考试成绩的取值范围为0~150的整数,则最合适的数据类型是 A. tinyint B.int

C.numeric(3,0) D. numeric(4,1)

100.在SQL语句中,下列涉及空值的操作,错误的是 A. AVG IS NULL

B. AVG IS NOT NULL C. AVG = NULL

D. NOT(AVG IS NULL)

101.下列选项中,用于描述单个用户使用的数据视图的是 A. 外模式 B. 概念模式 C. 内模式 D. 存储模式

102.使用数据库技术的主要目的是 A. 解决数据保密问题 B. 解决数据完整性问题 C. 解决数据共享问题 D. 解决数据量大的问题

103.下列关于3NF关系模式的说法,正确的是 A. 可能存在部分依赖和传递依赖

B. 一定不存在传递依赖,但可以存在部分依赖

C. 一定不存在部分依赖和传递依赖

D. 一定不存在部分依赖,但可以存在传递依赖 104.Numeric(p, q),其中p是指 A.小数点左右两边数字位个数之和

B.小数点左右两边数字位个数之和加上1位小数点 C.小数点左边数字位个数 D.小数点右边数字位个数

105.数据类型Numeric(10,4)表示的数据是

A.小数点后边有4位数字,小数点前边有10位数字 B. 小数点后边有10位数字,小数点前边有4位数字 C. 小数点后边有4位数字,小数点前边有6位数字 D. 小数点后边有4位数字,小数点前边有5位数字

106.在SQL Server中,修改表中列定义的正确的SQL语句是 A. ALTER TABLE MODIFY COLUMN 列名 数据类型 B. ALTER TABLE 表名 ALTER 列名 数据类型

C. ALTER TABLE 表名 ALTER COLUMN 列名 数据类型 D. ALTER TABLE 表名 ADD 列名 数据类型 107.下列不属于数据库管理系统优点的是 A.相互关联的数据的集合,较少的数据冗余 B.程序与数据相互独立

C.最大限度地保证数据的正确性 D.难以按用户的要求表示数据

108.SQL语言中,用于限制列取值不重的约束是 A.NOT NULL B.DEFAULT C.UNIQUE D.CHECK

109.下列关于3NF关系模式的说法,正确的是 A.一定消除了插入和删除异常 B .一定属于BCNF

C. 仍有可能存在更新异常

D. 一定没有部分函数依赖,但有可能存在传递函数依赖 110.关系规范化中的插入异常是指 A. 不该插入的数据被插入 B. 不该删除的数据被删除 C. 应该插入的数据不能插入 D. 应该删除的数据未删除

111.下列查询语句中,能够正确执行的是

A. SELECT Sno,Sname FROM SC GROUP BY Sno

B. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) > 3 C. SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) > 3 D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*) > 3 112.数据库中的外模式对应 A.数据库文件

B. 关系表 C.视图

D. 操作系统文件

113.数据库系统中模式到内模式的映像提供的数据独立性是 A. 物理独立性 B. 应用程序独立性 C. 逻辑独立性 D. 数据管理独立性

114.下列关于视图的说法,正确的是 A.使用视图可以提高数据查询效率 B.使用视图可以提高数据修改效率 C.使用视图一般会降低数据查询效率 D.通过视图不可以对表中数据进行修改

115.设有关系R,现要按条件f对关系R进行选择运算,正确的是 A.R∞fR B.∏f(R) C.бf(R) D.Uf(R)

116.若要将学生张三所在的系从“计算机系”改为“信息系”,正确的语句是

A. UPDATE Student SET sdept = '计算机系' WHERE Sname='张三' AND sdept='信息系' B. UPDATE Student SET sdept = '计算机系' WHERE Sname='张三'

C. UPDATE Student SET sdept = '信息系' WHERE Sname='张三' AND sdept='计算机系' D. UPDATE Student SET sdept = 信息系' WHERE Sname='张三' 117.一级封锁协议是 A.读和写都全程加锁 B. 读和写都不加锁

C.读加锁,但读完即解锁,修改全程加锁 D.读不加锁,修改全程加锁

118.设有关系模式:Student(学号,姓名,所在系,性别,课程号,课程名,学分,成绩),主键为(学号,课程号),则课程名对主键的依赖关系是 A.完全函数依赖 B.部分函数依赖 C.传递函数依赖 D.其他函数依赖

119.下述不属于视图好处的是 A. 封装复杂的

B. 提高数据的操作效率 C. 提供逻辑数据独立性 D. 保护敏感数据

120.下列关于视图的说法,正确的是

A. 视图的使用与基本表一样,所有视图都支持对数据进行增、删、改、查操作 B. 视图只能从基本表导出

C. 视图与基本表一样也存储数据

D. 对视图的操作,最终都要转化为对基本表的操作

121.数据库中数据的逻辑独立性是指 A. 当内模式发生变化时,模式可以不变 B. 当内模式发生变化时,外模式可以不变 C. 当模式发生变化时,外模式可以不变 D. 当模式发生变化时,内模式可以不变 122.下列不属于数据库特点的是 A. 程序和数据相互独立 B. 能保证数据正确性

C. 提供用户对数据文件的直接操作 D. 支持多个用户同时修改数据

123.下列不属于SQL Server数值类型的是 A.float B.binary C.money D.tinyint

124.数据的完整性包括

A.数据结构完整、数据操作完整和数据实现完整 B.数据静态结构和数据的动态结构的完整性 C.外模式、模式和内模式的完整性

D.实体完整性、参照完整性和用户定义的完整性 125.下列操作中,系统检查默认值约束的是 A. 插入数据之前 B. 插入数据之后 C. 修改数据之前 D. 修改数据之后

126.在数据库中,产生数据更新异常的根本原因是 A.数据存储量太大

B.未对数据进行完整性控制 C.数据冗余

D.没有严格保护数据

127.数据库中的模式对应 A. 数据库文件 B. 关系表 C.视图

D. 操作系统文件

128.下列关于数据库管理系统的说法,错误的是

A.数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件 B.数据库管理系统位于用户应用程序与操作系统软件之间

C.数据库管理系统需要操作系统的支持以实现对数据库文件的操作 D.数据库管理系统是计算机的基础软件之一 129.有UNIQUE约束的列,其取值一定 A. 没有空值

B .没有空值且不重

C. 取值不重,但允许有多个空值

D. 取值不重,但只允许有一个空值

130.视图是一种常用的数据对象,它是提供查看和检索数据的另一种途径,可以简化数据库操作。 下列关键字中,不允许出现在建立视图语句中的是 A、GROUP BY B、INNER JOIN C、ORDER BY D、HAVING 131.“图书”表中价格列是一个定点小数,小数点前3位,小数点后保留1位。下列类型中最合适的是 A. numeric(3,1) B. numeric(4,1) C. numeric(5,1) D. float

132.匹配0到多个字符的通配符是 A. * B. % C. _ D. ?

134.设student表中存放了学生的信息,要从student表中查出姓名(sname)的第二个字是“光”或\明\的学生的信息,正确的查询语句为: select * from student where A.sname LIKE '_光明%' B.sname LIKE '_[光明]%' C.sname LIKE '_^光明%' D.sname LIKE '_[^光明]%'

135.下列关于视图的说法,错误的是 A.视图对应数据库三级模式中的外模式 B.不能在视图上再建立视图 C.视图是一个虚表

D.视图可以提供一定的安全控制功能 136.R和S为两个基本表,“R JOIN S ON R.列1=S.列2”,要使操作有意义,列1和列2必须

A. 列名相同 B. 数据类型相同 C. 语义相同

D. 列名和类型均相同 137.二维表结构是

A. 关系数据库采用的概念层数据模型 B. 关系数据库采用的组织层数据模型 C. 数据库文件对数据的组织方式 D. 内模式采用的数据的组织方式

138.已知关系模式:S(学号,姓名,所在系,所在班,班主任),设一个学生只在一个系的一个班学习,一个班只有一个班主任。则此关系模式属于 A. 1NF B. 2NF

C. 3NF D. BCNF

139.下列用户中需要授权才能对数据库对象进行操作的是 A. 系统管理员 B. 数据库拥有者 C. 数据库对象拥有者 D. 普通用户

140.某表中有“年龄”列,下列数据类型中最合适的是 A. int B. tinyint C. Bigint

D. numeric(4,1)

141.下列对关系的描述,错误的是 A.表中列的数据类型可以不固定

B.关系表中的每一列都是不可再分的基本属性 C.表中各属性不能重名,任意两行不能完全相同 D.表中的行、列次序无关

142.关系数据库管理系统应能实现的专门关系运算包括 A、排序、索引、统计 B、选择、投影、连接 C、关联、更新、排序 D、显示、打印、制表 143.事务的原子性是指

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

B、一个事务内部的操作及使用的数据对并发的其他事务是隔离的 C、事务中包括的所有操作要么都做,要么都不做

D、事务必须是使数据库从一个一致性状态变到另一个一致性状态 144.进行自然连接运算的两个关系必须具有 A. 相同个数的属性 B. 公共属性 C. 相同关系名 D. 相同关键字

145.关系模式:R(商店编号,商品编号,库存数量,部门编号,负责人),假设(1)一个商店有多个部门;(2)每个商店的每种商品只在一个部门销售;(3)每个商店的每个部门只有一个负责人;(4)每个商店的每种商品只有一个库存数量。则此关系模式属于 A. 1NF B. 2NF C. 3NF D. BCNF

146.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这实现了数据库的

A. 可靠性 B. 一致性 C. 完整性

D. 安全性

147.数据库应用系统设计时需采用的逻辑模式是根据下列哪项考虑的 A.数据库管理系统 B. 数据存储 C.用户 D. 视图

148.某广告公司在表DailyExpense中记录其每日开支情况, 当某一开支发生时,在表DailyExpense 中会插入一新行。各类开支的现金余额记录在表ExpenseCategory 中。当发生一笔开支时,现金余额就会减少。下列触发器中能够保证当开支发生时会自动减少现金余额的是

A、在表DailyExpenses 上建立的更新(UPDATE)触发器。 B、在表ExpenseCategory上建立的插入(INSERT)触发器。 C、在表DailyExpenses上建立的插入(INSERT)触发器。 D、在表ExpenseCategory上建立的更新(UPDATE)触发器。

149.要从student表中查出学号(sno)最后一位是0、1和5的学生的信息,正确的查询语句为: select * from student where A.sno like '015' B.sno like '5' C.sno like '%[015]' D.sno like '%[^015]'

150.设有学生表,结构为:学生表(学号,姓名,所在系)。现要建立统计每个系的学生人数的视图,正确语句是

A. CREATE VIEW v1 AS SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系

B. CREATE VIEW v1 AS SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系 C. CREATE VIEW v1(系名,人数) AS SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系

D. CREATE VIEW v1(系名,人数) AS SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系

151.下列不属于数据模型三要素的是 A.数据的基本结构 B.数据的约束条件 C.数据的具体数值 D.定义在数据上的操作

152.合并E-R模型时要解决一些冲突问题,下列不属于合并E-R模型要解决的冲突是 A.关系冲突 B.属性冲突 C.命名冲突 D.结构冲突

153.设R和S为两个基本表,“FROM R LEFT JOIN S ON R.某列=S.某列”表示 A. 不要求R中的数据满足连接条件 B. 不要求S中的数据满足连接条件

C. 同时要求S和R中的数据均满足连接条件 D. S和R中的数据均可不满足连接条件

154.下列关于数据库逻辑结构设计的说法,错误的是

A.逻辑结构设计需要将概念结构转换为某种组织层数据模型 B.逻辑结构设计与具体的数据库管理系统有关 C.逻辑结构设计包括了对外模式的设计

D.逻辑结构设计需要对组织层数据模型进行优化 155.进行并运算的两个关系必须是

A. 属性的语义、顺序及个数均相同的关系 B. 有公共属性的关系 C. 关系名相同的关系 D. 具有相同关键字的关系

156.从数据库三级模式上来说,索引属于 A. 内模式 B. 模式 C. 外模式 D. 都不是

157.设要在SC表的Grade列上建立一个更新操作的后触发器,下列定义触发器头部的语句中,正确的是

A. CREATE TRIGGER tri_SC FOR UPDATE

B. CREATE TRIGGER tri_SC ON SC FOR UPDATE C. CREATE TRIGGER tri_SC AS UPDATE

D. CREATE TRIGGER tri_SC ON SC AS UPDATE

158.语句“SELECT * FROM Student WHERE sdept not in (’cs’,’is’)”的功能是 A.查询“cs”系和“is”系两个系的学生 B. 查询不是“cs”系但是“is”系的学生 C. 查询是“cs”系但不是“is”系的学生 D. 查询既不是“cs”系也不是“is”系的学生

159.概念层数据模型用于表达现实世界中的对象。下列不属于概念层数据模型需要满足的要求是

A.能够真实地模拟现实世界 B.容易被人们理解 C.数据模型要形象化

D.能够方便地在计算机上实现

160.有如下关系:考试情况表(学号,课程号,考试次数,成绩)。假设一个学生可以多次参加同一门课程的考试。则此关系的主键是 A.(学号,课程号) B.(课程号,考试次数) C.(学号,考试次数)

D.(学号,课程号,考试次数) 161.要从student表中查出不姓“张”和“李”的学生信息(学生的姓名对应的字段为sname),正确的查询语句为:select * from student where A.sname not like '[张李]%' B.sname like '[张李]%' C.sname not like '张李%' D.sname not like '[张李]'

数量 int default 1,

primary key(订单编号,商品编号) )

58.为描述商场的商品销售情况,设计了三张表:商品表、客户表和销售表,各表结构如下: 客户表:

客户号:普通编码定长字符型,长度为8,主键。 客户名:普通编码定长字符型,长度为10,非空。

身份证号:普通编码定长字符型,长度为18,取值不重。 性别:普通编码定长字符型,长度为2,默认值为“女”。 商品表:

商品号:普通编码定长字符型,长度为8,主键。

商品名:普通编码可变长字符型,最大长度为30,非空。 单价:定点小数类型,整数部分4位,小数部分2位。

类别:普通编码定长字符型,长度为4,取值范围为{冰箱,电视,电脑} 销售表:

客户号:普通编码定长字符型,长度为8,非空。外键,引用“客户表”的“客户号” 商品号:普通编码定长字符型,长度为8,非空。外键,引用“商品表”的“商品号” 销售时间:日期时间型,非空。 销售数量:整型。

其中(客户号,商品号,销售时间)为主键。 写出创建“客户表”、“商品表”和“销售表”的SQL语句,要求在创建表时定义表中的全部约束。

Create table 客户表(

客户号 char(8) primary key, 客户名 char(10) not null, 身份证号 char(18) unique, 性别 char(2) default '女' )

Create table 商品表(

商品号 char(8) primary key, 商品名 varchar(30) not null, 单价 numeric(6,2),

类别 char(4) check(类别 in ('冰箱','电视','电脑') )

Create table 销售表( 客户号 char(8) not null, 商品号 char(8) not null, 销售时间 datetime not null, 销售数量 int,

primary key(客户号,商品号,销售时间),

foreign key(客户号) references 客户表(客户号), foreign key(商品号) references 商品表(商品号) )

? 现有雇员表,结构为:雇员表(雇员号,姓名,所在部门,年龄)。现要统计每个部门

的雇员的平均年龄,希望查询结果是按平均年龄从高到低的顺序排列,并且只取平均年龄最大的前3个部门。完成此功能的查询语句为 ? 有学生表(学号,姓名,年龄,所在系),查询平均年龄最大的三个系的正确语句是 二.语句题

1.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询选修了“数据库”课程的学生人数的SQL语句 select count(*) from SC join Course on Course.cno = SC.cno where Cname='数据库'

2.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

统计每门课程的选课人数,包括没有人选的课程,列出课程号、选课人数及选课情况,其中选课情况为:

如果此门课程的选课人数超过100人, 则显示“人多”; 如果此门课程的选课人数在40~100,则显示“一般”; 如果此门课程的选课人数在1~40,则显示“人少”; 如果此门课程没有人选, 则显示“无人选”。 select c.cno,count(sc.cno) 选课人数, case when count(sc.cno) > 100 then '人多'

when count(sc.cno) between 40 and 100 then '一般' when count(sc.cno) between 1 and 40 then '人少' else '无人选' end 选课情况

from course c left join sc on c.cno = sc.cno group by c.cno

3.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计选课人数最多的前三门课程(包括并列的情况)的课程名和开课学期。

create view v5(课程名,开课学期) as create view v5(课程名,开课学期) as

select cname,semester from course where cno in ( select top 3 with ties cno from sc group by cno

order by count(*) desc)

4.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询计算机系哪些学生没有选课,列出学生姓名。(请用外连接实现)

select sname from student s left join sc on s.sno = sc.sno where sdept = '计算机系' and sc.sno is null

5.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

删除“VB”考试成绩最低的学生的VB修课记录。 delete from sc where sno in (

select top 1 with ties sno from sc join course c on c.cno = sc.cno where cname = 'VB' order by grade asc ) and cno in (

select cno from course where cname = 'VB')

6.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept), 课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询计算机系年龄最大的三个学生的姓名和年龄(包括并列情况) select top 3 with ties sname,sage from student where sdept = '计算机系' order by sage desc

7.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询成绩小于60的学生姓名、课程名及成绩的SQL语句。

select Sname,Cname,Grade from Student join SC on Student.Sno = SC.Sno join Course on Course.Cno = SC.Cno where Grade < 60

8.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。 select sno,count(*) 选课门数,sum(grade) 总成绩 from sc group by sno

order by count(*) asc

9.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询哪些课程没有学生选,列出课程号和课程名。(请用外连接实现) select c.cno,cname from course c left join sc on c.cno = sc.cno where sc.cno is null

10.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询VB考试成绩高于VB平均成绩的学生姓名。

select sname from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno where cname = 'VB' and grade > (

select avg(grade) from sc join course c on c.cno = sc.cno where cname = 'VB')

11.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询选课人数在3人以上课程的平均成绩的SQL语句。 select Cno,avg(Grade) from Course group by

cno having count(*)>=3

12.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询选修C002课程的学生的姓名和所在系。

select sname,sdept from student s join sc on s.sno = sc.sno where cno = 'C002'

13.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

在Course表中插入一行新数据,课程号为C100,课程名为Java,开课学期未定,学分为3。

insert into course values('C100','Java',3,null)

14.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

在Student表中插入一行新数据,学号为S100,姓名:新生,性别:男,年龄:19,所在系未定。

insert into Student values('S100','新生','男',19,null)

15.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade) 将C001课程的考试成绩增加10分。 update sc set grade = grade + 10 where cno = 'C001'

16.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,用SQL语句完成以下操作。 统计每个系VB课程的考试情况,列出系名和考试情况,其中考试情况为:

如果VB平均成绩大于等于90,则考试情况为“好”; 如果VB平均成绩在80~89分,则考试情况为“良好”; 如果VB平均成绩在70~79分,则考试情况为“一般”;

如果VB平均成绩低于70分,则考试情况为“较差”。 select sdept,考试情况 = case when avg(grade) >= 90 then '好'

when avg(grade) between 80 and 89 then '良好' when avg(grade) between 70 and 79 then '一般' when avg(grade) < 70 then '较差' end

from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno where cname = 'vb' group by sdept

17.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,用SQL语句完成以下操作。 统计每个学生的选课门数(包括没有选课的学生),列出学号、选课门数和选课情况,其中选课情况显示规则如下: 如果选课门数大于等于6,则选课情况为“多”; 如果选课门数在3~5,则选课情况为“一般”; 如果选课门在1~2,则选课情况为“偏少”。 如果没有选课,则选课情况为“未选课”。

select s.sno,count(sc.cno) 选课门数, 选课情况 = case

when count(sc.cno) >= 6 then '多'

when count(sc.cno) between 3 and 5 then '一般' when count(sc.cno) between 1 and 2 then '偏少' else '未选'

end from student s left join sc on s.sno = sc.sno group by s.sno

18.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

统计每个学生的选课门数,并按选课门数的递增顺序显示结果。 select sno,count(*) 选课门数 from SC group by sno

order by count(*) asc

19.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,用SQL语句完成以下操作。 修改全部课程的学分,修改规则如下: 如果是第1~2学期开设的课程,则学分增加5分; 如果是第3~4学期开设的课程,则学分增加3分; 如果是第5~6学期开设的课程,则学分增加1分; 其他学期开设的课程学分不变。 update course set credit = credit +

case

when semester in (1,2) then 5 when semester in (3,4) then 3 when semester in (5,6) then 1 else 0 end

20.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询学号为“2012001001”学生的考试成绩的SQL语句,结果按成绩降序排列,列出学号、姓名、课程名和成绩

select Student.Sno,Sname,Cname,Grade

from Student join SC on Student.Sno = SC.Sno join Course on Course.cno = SC.cno where Sno = '2012001001' order by Grade desc

21.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询计算机系考试成绩最高的学生的姓名(包括并列情况)。(请用子查询实现) select sname from student where sno in(

select top 1 with ties sno from sc join student s on s.sno = sc.sno where sdept = '计算机系' order by grade desc)

22.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

用SQL语句完成以下操作。 查询计算机系每个学生的VB考试情况,列出学号、姓名、VB成绩和成绩情况,其中成绩情况的显示规则为: 如果成绩大于等于90,则成绩情况为“好”; 如果成绩在80~89,则成绩情况为“较好”; 如果成绩在70~79,则成绩情况为“一般”; 如果成绩在60~69,则成绩情况为“较差”; 如果成绩小于60,则成绩情况为“差”。 select s.sno,sname,grade,成绩情况 = case

when grade >= 90 then '好'

when grade between 80 and 89 then '较好' when grade between 70 and 79 then '一般' when grade between 60 and 69 then '较差' when grade < 60 then '差' end

from student s join sc on s.sno = sc.sno

23.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

查询VB考试成绩最低的学生的姓名、所在系和VB成绩。 Select sname,sdept,min(grade) from student s join sc on s.sno=sc.sno Join course c on c.cno=sc.cno Where cname=’VB’

24.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询哪些课程没有人选,要求列出课程号和课程名。(请用子查询实现)。 select cno,cname from course where cno not in ( select cno from sc) 25.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

写出查询年龄在18-20岁的学生姓名、年龄和所在系的SQL语句 select sname,sage,sdept from Student where Sage between 18 and 20

26.以下是一个学生选课系统的数据库,包括三张表,分别为:学生表、课程表、选课表,表结构如下所示: 学生

字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime 课程

字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课

字段名称 数据类型 长度 备注 学号 char 10 主键 课号 char 4 成绩 int

针对以上各表,用SQL语句完成以下操作。 将课号为“1001”的课程学分改为4 update 课程 set 学分=4 where 课号='1001'

27.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询平均成绩大于80的课程的课程名和学分。 select cname,credit from course where cno in ( select cno from sc group by cno

having avg(grade) > 80 )

28.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade) 查询年龄最大的男生的姓名和年龄。(请用子查询实现) select sname,sage from student where sage in(

select max(sage) from student where ssex = '男') and ssex = '男'

29.已知一个数据表的结构如下,表名为“Product”。 列名 数据类型 长度 备注 描述

ProductID char 12 主键 商品编号 ProductName var char 50 商品名称 ProductPrice float 商品价格 ProductMemo Varchar 50

由于供应商对商品的批发价格进行调整,现需对现行商品价格进行调整,规则如下: 原价格小于10元上调8%, 原价格大于30元上调6%, 其它上调7%,

请编写一段SQL脚本完成上述功能。

UPDATE Product SET ProductPrice = CASE

WHEN ProductPrice < 10 THEN ProductPrice*1.08 WHEN ProductPrice > 30 THEN ProductPrice*1.06 ELSE ProductPrice*1.07 END

30.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询计算机系全体女生的详细信息的SQL语句。 select * from student where sdept = '计算机系' and ssex = '女' 31.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询C001课程的考试成绩高于该课程平均成绩的学生的学号和C001课成绩。(请用子查询实现)

select sno,grade from sc

where cno = 'c001' and grade >( select avg(grade) from sc

where cno = 'c001')

32.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计考试平均成绩最高的前三名学生(包括并列的情况)的姓名和所在系。 create view v7(姓

名,所在系) as

create view v7(姓名,所在系) as select sname,sdept from student where sno in (

select top 3 with ties sno from sc group by sno

order by avg(grade) desc )

33.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

统计每个系的学生人数。列出系和系学生人数。 select sdept,count(*) 学生人数 from student group by sdept

34.设“图书”表的结构为:Books(Bid,BName,Price),分别代表书号、书名和价格 写出实现下列查询要求的SQL语句。

查询所有书籍信息,列出:书号、书名、价格和等级。其中“等级”根据价格决定: 对价格小于等于20元的等级显示为“很便宜”,

对价格小于等于50元且大于20元的等级显示为“中等”, 对价格大于50元等级显示为:“很贵”。 Select 书号,书名,价格, case

when Price<=20 then '很便宜'

when Price<=50 and 价格>20 then '中等' else '很贵' end as 等级 from Books

35.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,用SQL语句完成以下操作。 修改高等数学的考试成绩,修改规则如下: 如果是计算机系学生,则加10分; 如果是信息管理系学生则加5分; 如果是数学系学生则分数不变。 update sc set grade = grade + case sdept

when '计算机系' then 10 when '信息管理系' then 5 when '数学系' then 0 end

from sc join student s on s.sno = sc.sno join course c on c.cno = sc.cno where cname = '高等数学'

36.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade) 删除没人选的课程。(请用子查询实现) delete from course where cno not in ( select cno from sc)

37.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,写出创建满足如下要求的视图的SQL语句。

查询学生的学号、姓名、所在系、课程号、课程名、课程学分。视图名为v1 create view v1 as

select s.sno,sname,sdept,c.cno,cname,credit

from student s join sc on s.sno = sc.sno join course c on c.cno = sc.cno 38.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

写出将下列信息插入到学生表中的SQL语句 学号:2012001001,姓名:王五,性别:男;年龄:20,所在系未定

insert into Student values('2012001001','王五','男',20,NULL) 39.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询每门课的选课人数的SQL语句,列出课号及选课人数(包括没有人选的课程)。 select Course.Cno,count(SC.Cno)

from Course left join SC on Course.Cno = SC.Cno group by Course.Cno

40.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。 select sname,cno,grade from student s join sc on s.sno = sc.sno where grade > 80 order by grade desc

41.已知\图书\表结构如下: 条码码(char(5),主键), 书名(varchar(50)), 状态(char(1)),取值为1、2、3,分别表示:可借、不可借、已借。 写出创建满足如下要求的视图(v_book):查询书名中包含“数据库”的图书,显示:条形码、书名和状态,要求状态用对应的中文含义显示。

create view vw_book as select 条码号,书名, case

when 状态='1' then '可借' when 状态='2' then '不可借'

when 状态='3' then '已借' end case 状态 from 图书 where 书名 like '%数据库%'

42.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester),

选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。 统计每个学生的选课门数,要求列出学生学号和选课门数。 create view v2(学号,选课门数) as create view v2(学号,选课门数) as select sno,count(*) from sc group by sno

43.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

统计每门课程的选课人数(不包括没人选的课程),列出课程号和选课人数。 select cno,count(*) 选课人数 from sc group by cno

44.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

查询选课门数最多的前2位学生,列出学号和选课门数。 select top 2 sno,count(*) 选课门数 from sc group by sno

order by count(*) desc

45.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计每个学期开设的课程总门数及总学分。 create view v4(学期,课程总门数,总学分) as create view v4(学期,课程总门数,总学分) as select semester,count(*),sum(credit) from course group by semester

46.设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),

课程表:Course(Cno,Cname,Credit,Semester), 选课表:SC(Sno,Cno,Grade)

写出查询第3学期开设的学分为4的课程名的SQL语句。 select cname from course

where semester = 3 and creidt = 4

47.已知商品表、订单表、订单细节表、顾客表的结构如下所示: 商品 字段名称 数据类型 长度 备注

商品编号 char 5 主键 商品名称 varchar 50 单价 numeric (10,2)

库存数量 int 取值大于等于0 顾客 字段名称 数据类型 长度 备注

顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注

订单编号 char 10 主键 下单日期 date

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

Top