SQL语言习题参考答案无嵌入式.docx
PAGE
PAGE1
SQL练习题参考答案
一、选择题
1. A
8. C
15.B
22.D
2. C
9. B
16.D
23.C
3. C
10.A
17.A
24.D
4. B
11.D
18.C
25.A
5. A
12.A
19.C
6. D
13.D
20.A
7. C
14.A
21.D
二、填空题
1. ~10略
11.
SELECT*FROMRUNIONSELECT*FROMT
SELECT*FROMRWHEREDWH=’100’
SELECTXM,XBFROMR
SELECTXM,DWHFROMRWHEREXB=’女’
SELECTR.BH,R.XM,R.XB,R.DWH,S.DWMFROMR,SWHERER.DWH=S.DWH
SELECTR.XM,R.XB,S.DWHFROMR,SWHERER.DWH=S.DWHANDR.XB=’男’
12.
1)INSERTINTORVALUES(25,李明,男,21,95031)
INSERTINTOR(NO,NAME,CLASS)VALUES(30,郑和,95031)
UPDATERSETNAME=王华WHERENO=10
UPDATERSETCLASS=95091WHERECLASS=95101
DELETEFROMRWHERENO=20
DELETEFROMRWHERENAMELIKE“王%
三、简答题
答:(1)综合统一。SQL语言集数据定义语言DDL、数据查询语言、数据操纵语言DML、数据控制语言DCL的功能于一体。
高度非过程化。用SQL语言进行数据操作,只要提出”做什么”,而无需指明”怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。
面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
语言简捷,易学易用。
答:SQL的数据定义为功能包括定义表、定义视图和定义索引。
SQL语言使用CREATETABLE语句建立基本表,ALTERTABLE语句修改基本表定义,DROPTABLE语句删除基本表;使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引;使用CREATEVIEW语句建立视图,DROPVIEW语句删除视图。
答:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
答:(1)视图能够简化用户的操作;(2)视图使用户能以多种角度看待同一数据;(3)
视图对重构数据库提供了一定程度的逻辑独立性;(4)视图能够对机密数据提供安全保护。
答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终上转换为对基本表
的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的,如《应用教程》3.5.1中的视图S_AVG(学生的学号及他的平均成绩)
CREATVIEWS_AVG(学号,平均成绩)ASSELECT学号,AVG(成绩)
FROMScoreGROUPBY学号;
要修改平均成绩,必须修改各科成绩,而我们无法知道哪些课程成绩的变化导致了平均成绩
的变化。
答:基本表的行列子集视图一般是可更新的。
若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。
四、利用SQL语言,完成下列对S(学生)、SC(选课)、C(课程)的查询语句。
(1)
selectcount(distinct课程编号)fromScore
(2)
SELECTavg(成绩)fromScore,StudentwhereScore.学号=Student.学号and性别=女and课程编号=C004
(3)
SELECT课程编号,avg(成绩)fromScore,StudentwhereScore.学号=Student.学号and班级编号