SQL期末复习题和答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基础理论
1、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(_B__)
A、只存在一对多的实体关系,以图形方式来表示。
B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。
C、能体现一对多、多对多的关系,但不能体现一对一的关系。
D、关系模型数据库是数据库发展的最初阶段。 B
2、为数据表创建索引的目的是(__A_)
A、提高查询的检索性能
B、创建唯一索引
C、创建主键
D、归类 A
3、在Transact-SQL语法中,用来插入数据的命令是(_A__),用于更新的命令是(___)。
A、INSERT,UPDATE
B、UPDATE,INSERT
C、DELETE,UPDATE
D、CREATE,INSERT INTO A
4、在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1_B__),
使用关键字(2_A__)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3__B_),如果在SELECT语句中使用集合函数时,一定在后面使用(4_A__)。
⑴ A、SELECT,INTO B、SELECT,FROM
C、SELECT,GROUP
D、仅SELECT
⑵ A、DISTINCT B、UNION
C、ALL C、TOP
⑶ A、JOIN B、UNION
C、INTO C、LIKE
⑷ A、GROUP BY B、COMPUTE BY
C、HAVING
D、COMPUTE B A BA
5、视图是一种常用的数据对象,它是提供(1_A__)和(1___)数据的另一种途径,可以简
化数据库操作,当使用多个数据表来建立视图时,表的连接不能使用(2__A_)方式,并且不允许在该语句中包括(3__B_)等关键字。
⑴ A、查看,存放 B、查看,检索
C、插入,更新
D、检索,插入
⑵ A、外连接 B、内连接 C、左连接 D、右连接
⑶ A、ORDER BY,COMPUTE
B、ORDER BY,COMPUTE,COMPUTR BY
C、ORDER BY,COMPUTE BY,GROUP BY
D、GROUP BY,COMPUTE BY AAB
6、删除表命令是:___________________________________________。
7、数据库系统中的人员通常包括D
1、、数据库管理员
2、系统分析员
3、数据库设计员
4、应用程序员
5、最终用户
A)仅1、3、5
B)仅1、2、3、5
C)仅1、3、4、5
D)全部答案:D
8、下列关于“数据库三级模式结构”的叙述中哪一条是不正确的?C
A)视图是外模式
B)模式是数据库中全体数据的逻辑结构的描述
C)一个数据库可以有多个模式
D)一个数据库只有一个内模式答案:C
9、下面列出的数据模型中哪一种是数据库系统中最早出现的数据模型?B
A)关系模式
B)层次模型
C)网状模型
D)面向对象模型
答案:B 10、关系数据模型的三个要素是D
A)关系数据结构、关系操作集合和关系规范化理论
B)关系数据结构、关系规范化理论和关系完整性的约束
C)关系规范化理论、关系操作集合和关系完整性约束
D)关系数据结构、关系操作集合和关系完整性约束
答案:D 11、使用SELECT语句进行查询时,要去掉不满足条件的元组,应该使用WHERE子句;要去掉不满足条件的分组,要GROUP子句后面用HA VING子句。
12、UNION ALL DISTINCT TOP JOIN 这几个关键字的作用分别是??
13、NULL对查询的影响
14、数据库只存储视图的定义,视图是一个虚表,不存储数据。在视图上可以定义新的视图,但是不能定义基本表。视图定义中,WITH CHECK OPTION , WITH ENCRYPTION 的作用
15、通配符以下哪个选项范围最大? C
A.…abc#‟
B.…abc_d%‟
C.…abc%‟
D.…a#%‟ escape …#‟
16、嵌套查询的执行顺序是?
17、数据的逻辑独立性和物理独立性
对于教学数据库的三个基本表
学生S(S#,SNAME,AGE,SEX)
学习SC(S#,C#,GRADE)
课程C(C#,CNAME,TEACHER)
试用SQL的查询语句表达下列查询:
(1)检索LIU老师所授课程的课程号和课程名。
SELECT C#,CNAME
FROM C
WHERE TEACHER=…LIU‟
(2)检索年龄大于23岁的男学生的学号和姓名。
SELECT S#,SNAME
FROM S
WHERE (AGE>23) AND (SEX=…M‟)
(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名。
SELECT SNAME
FROM S
WHERE SEX=…F‟ AND S# IN
(SELECT S#
FROM SC
WHERE C# IN
(SELECT C#
FROM C
WHERE TEACHER=…LIU‟)
NOTICE:有多种写法,比如联接查询写法:
SELECT SNAME
FROM S,SC,C
WHERE SEX=…F‟ AND SC.S#=S.S#
AND SC.C#=C.C#
AND TEACHER='LIU'
但上一种写法更好一些。
(4)检索至少选修两门课程的学生学号。
SELECT DISTINCT X.SNO
FROM SC X,SC Y
WHERE X.SNO=Y.SNO AND O<>O
Notice:对表SC进行自连接,X,Y是SC的两个别名。
(5)检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAME
FROM C
WHERE NOT EXISTS
(SELECT *
FROM S
WHERE S# NOT IN
(SELECT *
FROM SC
WHERE SC.C#=C.C#))
(6)检索选修课程包含LIU老师所授课的学生学号。
SELECT DISTINCT S#
FROM SC
WHERE C# IN
(SELECT C#
FROM C