关系数据库标准语言SQL练习题 联系客服

发布时间 : 星期二 文章关系数据库标准语言SQL练习题更新完毕开始阅读

第3章 关系数据库标准语言SQL

一.单项选择题

1.SQL语言是▁▁▁▁▁的语言,易学习。

A.过程化 B非过程化 C.格式化 D导航式 B

2.SQL语言是▁▁▁▁▁语言。

A.层次数据库 B.网络数据库 C.关系数据库 D非数据库 3.SQL语言具有▁▁▁▁▁的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 C.数据定义、关系规范化、数据操纵

4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是▁▁▁▁▁。 A.SELECT B.INSERT C.UPDATE D.DELETE 5.在关系代数运算中,五种基本运算为▁▁▁▁▁。

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影 C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积 6 .SQL语言中,实现数据检索的语句是▁▁▁▁▁。

A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是▁▁▁▁▁。

A.ALTER B.CREATE C.UPDATE D.INSERT

第8到第11题基于这样的三个表,即学生表S、课程表C和学生选课表SC,他们的结构如下: S(S#,SN,SEX,AGE,DEPT); C(C#,CN); SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程CN为课程名,GPADE为成绩。 8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是▁▁A▁▁。 A.SELECT SN,AGE,SEX

FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=“王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=“王华” C.SELECT SN,AGE,SEX

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

9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是▁▁D▁▁。 A.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=(SELECT GRADE FORM SC WHERE C#=“C2”) B.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”) C.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHERE C#=“C2”)

D.SELECT S# FORM SC

WHERE C#=“C2”AND GRADE>=ALL(SELECT GRADE FORM SC WHERE C#=“C2”)

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

11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是▁B▁。 A.SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT(*)>=4 SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 2 DESC

SELECT S#,SUM(GRADE)

FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT(*)>=4

12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系▁▁D▁▁。 A.S B.SC,C C.S,SC D.S,C,SC

13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作▁▁▁▁▁不能执行。 职工表 部门表 A.从职工表中删除行(‘025’,‘王芳’,‘03’,720) B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中 C.将职工号为‘001’工资改为700 D.将职工号为‘038’部门号改为‘03’ B

14.若用如下的SQL语句创建一个student表: 职工号 职工名 部门号 工部门号 0l 部门名 人事主任 高资 580 001 李红 01 CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2)); 可以插入到student表中的是▁▁▁▁▁。 A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,男,23) D.(‘1031,NULL,男,23) B

二、填空题

1.SQL是▁▁▁▁▁▁▁▁▁▁。 结构化查询语言

2.SQL语言的数据定义功能包括▁▁▁▁▁▁▁、▁▁▁▁▁▁▁、▁▁▁▁▁▁▁和▁▁▁▁▁▁▁。 定义数据库 定义基本表 定义视图 定义索引

3.视图是一个虚表,它是从▁▁▁中导出的表。在数据库中,只存放视图的▁▁▁▁▁,不存视图的▁▁▁▁▁▁▁▁▁▁。 一个或几个基本表 定义 视图对应的数据 4.设有如下关系表R、S和T: R(BH,XM,XB,DWH) S(DWH,DW) T(BH,XM,XB,DWH)

实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 实现R∪T的语句是▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁。 SELECT * FROM R UNION SELECT * FROM T SELECT * FROM R WHERE DWH=‘100’ SELECT XM,XB FROM R

SELECT X,DWH FROM R WHERE XB=“女”

SELECT R.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWM FROM R,S WHERE R.DWH=S.DWH SELECT R.XM,R.XB,S.DWM

FROM R,S WHERE R.DWH=S.DWH AND R.XB=“男” 5.设有如下关系表R:

R(NO,NAME,SEX,AGE,CLASS) 主关键字的NO。

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列的SQL语句。 插入一个记录(25,“李明”“男”,21,“95031”); 插入“95031”班号为30、姓名为“郑和”的学生记录; 将学号为10的学生姓名改为“王华”; 将所有“95101班号改为“95091”; 删除学号为20的学生记录; 删除姓“王”的学生记录;

INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”) INSERT INTO R(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”) UPDATE R SET NAME=“王华” WHERE NO=10

UPDATE R SET CLASS=“95091” WHERE CLASS=“95101” DELETE FROM R WHERE NO=20

DELETE FROM R WHERE NAME LIKE “王%” 习题3

1.叙述SQL语言支持的三级逻辑结构。 答:SQL语言支持的三级逻辑结构如图1所示.

在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在Visual Foxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中。一个基本表就是一个关系,它不是由其人表导出的表。基本表是使用CDEATE TABLE语句建立的。

在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CDEATE VIEW语句建立的。

在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。 2.叙述使用SQL语言实现各种关系运算的方法。

答:由Visual Foxpro支持的SQL语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的SQL语句格式是: R∪S:SELECT语句(生成R) UNION

SELECT语句(生成S)

选择:SELECT * FROM <表> WHERE <指定选择的条件> 投影:SELECT <投影字段列表> FROM<表>

选择:SELECT <连接的字段列表> FROM <连接的两个表名> WHERE<连接条件>

3.设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果。 A AB

B ⑴ 找出店人或者在长沙市的商店名。

SELECT FROM A

620 OR CITY=“长沙”;

⑵ 找出供应书包的商店名。 SELECT A.ANAME FROM A,B,AB

WHERE A.A#=AB.A# AND B.B#=AB.B# AND B.BNAME=“书包”;

⑶ 找出至少供应了代号为“256”的商店所供应的全部商品的商店名和所在城市。 SELECT ANAME,CITY FROM A WHERE NOT EXSIST

(SELECT * FORM AB F WHERE A#=“256” AND NOT EXSIST (SELECT * FROM AB S WHERE A#=A.A# AND B#=F.B#));

4.设有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(着者),PUB(出版社)。按下列要求用SQL语言进行设计。

查询按出版社统计其出版图书总数。 SELECT PUB,COUNT(BNO) FROM TS GROUP BY PUB

5.已知三个关系R、S和T如图所示。试用SQL语句实现如下操作:

R S T ⑴ 将R、S和R-S-T。

⑵ 对视图的平均值。

解: ⑴ CREATE

AS SELECT R.A,B,C,S.D,E,F

FROM R,S,T WHERE R.A=S.A AND S.D=T.D;

⑵ SELECT AVG(C),AVG(E) FROM R-S-T GROUP BY A; 6.有关系R和S如图所示。

R S 试用SQL语句⑴ 查询属性⑵ 当属性解:

A a1 a2 a3 B b1 B2 b3 实C>50C=40

A a1 a2 a3 B 40 50 55 现:

时,R中与相关联的属性B之值。

时,将R中与之相关连的属性B值修改为b4。

A a1 a1 a2 a2 B b1 b2 b1 b3 C 20 22 18 a2 VIEW R-S-T R-S-TT三个

A a1 a2 a1 D d1 d2 d2 E 15 18 24 D d2 d3 F f2 f3 按属性A分组后,求属性C和E关系按关联属性建立一个视图

第一百货商店 413 上海 A# B# 101 1 204 2 256 3 345 4 ANAME BNAME 韶山商店毛笔 前门百货商店 羽毛球 东风商场收音机 铁道商店书包 WQTY PRICE CITY 15 21 89 784 501 1325 76 242 长沙 北京 北京 长沙 A# 101 101 101 101 204 256 256 345 345 345 620 B# 1 2 3 4 3 1 2 1 2 4 4 QTY 105 42 25 104 61 241 91 141 18 74 125 A#,ANAME WHERE WQTY<=100 员人数不超过100所有商店的代号和