关系数据库标准语言SQL练习题.docx

上传人:b****6 文档编号:4411484 上传时间:2022-12-01 格式:DOCX 页数:24 大小:38.37KB
下载 相关 举报
关系数据库标准语言SQL练习题.docx_第1页
第1页 / 共24页
关系数据库标准语言SQL练习题.docx_第2页
第2页 / 共24页
关系数据库标准语言SQL练习题.docx_第3页
第3页 / 共24页
关系数据库标准语言SQL练习题.docx_第4页
第4页 / 共24页
关系数据库标准语言SQL练习题.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

关系数据库标准语言SQL练习题.docx

《关系数据库标准语言SQL练习题.docx》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL练习题.docx(24页珍藏版)》请在冰豆网上搜索。

关系数据库标准语言SQL练习题.docx

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

ThismanuscriptwasrevisedonNovember28,2020

 

关系数据库标准语言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.SELECTB.INSERTC.UPDATED.DELETE

5.在关系代数运算中,五种基本运算为▁▁▁▁▁。

A.并、差、选择、投影、自然连接B.并、差、交、选择、投影

C.并、差、选择、投影、乘积D.并、差、交、选择、乘积

6.SQL语言中,实现数据检索的语句是▁▁▁▁▁。

A.SELECTB.INSERTC.UPDATED.DELETE

7.下列SQL语句中,修改表结构的是▁▁▁▁▁。

A.ALTERB.CREATEC.UPDATED.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.SELECTSN,AGE,SEX

FROMSWHEREAGE>(SELECTAGEFROMSWHERESN=“王华”)

B.SELECTSN,AGE,SEX

FROMSWHERESN=“王华”

C.SELECTSN,AGE,SEX

FROMSWHEREAGE>(SELECTAGEWHERESN=“王华”)

D.SELECTSN,AGE,SEX

FROMSWHEREAGE>王华.AGE

9.检索选修课程“C2”的学生中成绩最高的学生的学号。

正确的SELECT语句是▁▁D▁▁。

A.SELECTS#FORMSC

WHEREC#=“C2”ANDGRADE>=(SELECTGRADEFORMSCWHEREC#=“C2”)

B.SELECTS#FORMSC

WHEREC#=“C2”ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=“C2”)

C.SELECTS#FORMSC

WHEREC#=“C2”ANDGRADENOTIN(SELECTGRADEFORMSCWHERE

C#=“C2”)

D.SELECTS#FORMSC

WHEREC#=“C2”ANDGRADE>=ALL(SELECTGRADEFORMSCWHERE

C#=“C2”)

10.检索学生姓名及其所选修课程号和成绩。

正确的SELECT语句是▁▁▁C▁▁。

SELECTS.SN,SC.C#,SC.GRADE

FROMSWHERES.S#=SC.S#

B.SELECTS.SN,SC.C#,SC.GRADE

FROMSWHERES.S#=SC.GRADE

C.SELECTS.SN,SC.C#,SC.GRADE

FROMS,SCWHERES.S#=SC.S#

D.SELECTS.SN,SC.C#,SC.GRADE

FROMS.SC

11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

正确的SELECT语句是▁B▁。

A.SELECTS#,SUM(GRADE)

FROMSCWHEREGRADE>=60GROUPBYS#ORDERBY2DESC

HAVINGCOUNT(*)>=4

SELECTS#,SUM(GRADE)

FROMSCWHEREGRADE>=60GROUPBYS#HAVINGCOUNT(*)>=4

ORDERBY2DESC

SELECTS#,SUM(GRADE)

FROMSCWHEREGRADE>=60HAVINGCOUNT(*)>=4GROUPBYS#

ORDERBY2DESC

SELECTS#,SUM(GRADE)

FROMSCWHEREGRADE>=60ORDERBY2DESCGROUPBYS#

HAVINGCOUNT(*)>=4

12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系▁▁D▁▁。

A.SB.SC,CC.S,SCD.S,C,SC

13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作▁▁▁▁▁不能执行。

职工表部门表

A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)

B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中

C.将职工号为‘001’工资改为700

D.将职工号为‘038’部门号改为‘03’

B

14.若用如下的SQL语句创建一个student表:

CREATETABLEstudent(NOC(4)NOTNULL,

NAMEC(8)NOTNULL,

SEXC

(2),

AGEN

(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*FROMRUNIONSELECT*FROMT

SELECT*FROMRWHEREDWH=‘100’

SELECTXM,XBFROMR

SELECTX,DWHFROMRWHEREXB=“女”

SELECTR.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWM

FROMR,SWHERER.DWH=S.DWH

SELECTR.XM,R.XB,S.DWM

FROMR,SWHERER.DWH=S.DWHANDR.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的学生记录;

删除姓“王”的学生记录;

INSERTINTORVALUES(25,“李明”,“男”,21,“95031”)

INSERTINTOR(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”)

UPDATERSETNAME=“王华”WHERENO=10

UPDATERSETCLASS=“95091”WHERECLASS=“95101”

DELETEFROMRWHERENO=20

DELETEFROMRWHERENAMELIKE“王%”

习题3

1.叙述SQL语言支持的三级逻辑结构。

答:

SQL语言支持的三级逻辑结构如图1所示.

在概念层,对应概念模式的概念记录型的基本表。

基本表是这样的一种表,它本身实际存在,在VisualFoxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中。

一个基本表就是一个关系,它不是由其人表导出的表。

基本表是使用CDEATETABLE语句建立的。

在外层,用户所看到的可以是基本表,也可以是视图。

视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。

视图是使用CDEATEVIEW语句建立的。

在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。

DBA可以对物理存储文件进行操作。

2.叙述使用SQL语言实现各种关系运算的方法。

答:

由VisualFoxpro支持的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语言写出下列查询,并给出执行结果。

AAB

A#

ANAME

WQTY

CITY

101

韶山商店

15

长沙

204

前门百货商店

89

北京

256

东风商场

501

北京

345

铁道商店

76

长沙

620

第一百货商店

413

上海

A#

B#

QTY

101

1

105

101

2

42

101

3

25

101

4

104

204

3

61

256

1

241

256

2

91

345

1

141

345

2

18

345

4

74

620

4

125

B#

BNAME

PRICE

1

毛笔

21

2

羽毛球

784

3

收音机

1325

4

书包

242

B

⑴找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。

SELECTA#,ANAME

FROMAWHEREWQTY<=100ORCITY=“长沙”;

⑵找出供应书包的商店名。

SELECTA.ANAMEFROMA,B,AB

WHEREA.A#=AB.A#ANDB.B#=AB.B#ANDB.BNAME=“书包”;

⑶找出至少供应了代号为“256”的商店所供应的全部商品的商店名和所在城市。

SELECTANAME,CITYFROMAWHERENOTEXSIST

(SELECT*FORMABFWHEREA#=“256”ANDNOTEXSIST

(SELECT*FROMABSWHEREA#=A.A#ANDB#=F.B#));

4.设有图书登记表TS,具有属性:

BNO(图书编号),BC(图书类别),BNA(书名),AU(着者),PUB(出版社)。

按下列要求用SQL语言进行设计。

查询按出版社统计其出版图书总数。

SELECTPUB,COUNT(BNO)

FROMTSGROUPBYPUB

5.已知三个关系R、S和T如图所示。

试用SQL语句实现如下操作:

RST

A

B

C

a1

b1

20

a1

b2

22

a2

b1

18

a2

b3

a2

A

D

E

a1

d1

15

a2

d2

18

a1

d2

24

D

F

d2

f2

d3

f3

⑴将R、S和T三个关系按关联属性建立一个视图R-S-T。

⑵对视图R-S-T按属性A分组后,求属性C和E的平均值。

解:

⑴CREATEVIEWR-S-T

ASSELECTR.A,B,C,S.D,E,F

FROMR,S,TWHERER.A=S.AANDS.D=T.D;

⑵SELECTAVG(C),AVG(E)FROMR-S-TGROUPBYA;

6.有关系R和S如图所示。

RS

A

B

a1

b1

a2

B2

a3

b3

A

B

a1

40

a2

50

a3

55

试用SQL语句实现:

⑴查询属性C>50时,R中与相关联的属性B之值。

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

解:

⑴SELECTBFROMR,SWHERER.A=S.AANDC>50;

⑵UPDATER

SETB=“b4”WHEREAIN(SELECTA

FROMSWHEREC=40)

7.已知R和S两个关系如图所示。

RS

A

B

C

a1

b1

c1

a2

b2

c2

a3

b3

c2

C

D

E

c1

d1

e1

c2

d2

e2

c3

d3

e3

执行如下SQL语句:

⑴CREATEVIEWH(A,B,C,D,E)

ASSELECTA,B,R.C,D,EFROMR,SWHERER.C=S.C;

⑵SELECTB,D,EFROMHWHEREC=“C2”

试给出:

⑴视图H。

⑵对视图H的查询结果。

解:

本题的结果如图所示。

视图H对视图H的查询结果

A

B

C

D

E

a1

b1

c1

d1

e1

a2

b2

c2

d2

e2

a3

b3

c2

d2

e2

B

D

E

b2

d2

e2

b3

d2

e2

8.已知关系R如图所示。

R

A

B

C

97

b1

84

a297

b2

92

a397

b3

98

98

b1

72

98

b2

84

98

b3

95

99

b1

88

99

b2

94

试用SQL语句实现下列操作:

⑴按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RAE中。

⑵在视图RAE中查询属性A=“8”记录。

⑴CREATEVIEWRAE(A,CMAX,CMIN)

ASSELECTA,MAX(C),MIN(C)FROMRGROUPBYA;

⑵SELECT*FROMRAEWHEREA=“98”

9.已知学生表S和学生选课表SC。

其关系模式如下:

S(SNO,SN,SD,PROV)

SC(SNO,CN,GR)

其中:

SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。

试用SQL语言实现下列操作:

⑴查询“信息系”的学生来自哪些省区。

⑵按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。

解:

⑴SELECTDISTINCTPROVFROMSWHERESD=“信息系”

⑵SELECTSN,GRFROMS,SC

WHERESD=“英语系”ANDCN=“计算机”ANDS.SNO=SC.SNO

ORDWRBYGRDESC;

10.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:

⑴建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序。

⑵从视图V-SSC上查询平均成绩在90分以上的SN、CN和G。

解:

⑴CREATEVIEWV-SSC(SNO,SN,CNO,CN,G)

ASSELECTS.SNO,S.SN,CNO,SC.CN,SC.G

FROMS,SCWHERES.SNO=SC.SNOORDWRBYCNO

⑵SELECTSN,CN,G

FROMV-SSCGROGPBYSNOHAVINGAVG(G)>90

11.设有关系模式:

SB(SN,SNAME,CITY)

其中:

SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。

PB(PN,PNAME,COLOR,WEIGHT)

其中:

P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。

JB(JN,JNAME,CITY)

其中:

JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程式所在城市,主关键字为JN。

SPJB(SN,PN,JN,QTY)

其中:

SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。

如图所示表示供应商(S)—零件(P)—工程(J)数据库表,写出实现以下各题功能的SQL语句:

(1)取出所有工程的全部细节:

SELECT*FROMJBTOSCREEN;

JNJNAMECITY

--------------------------------------

J1JN1上海

J2JN2广州

J3JN3南京

J4JN4南京

J5JN5上海

J6JN6武汉

J7JN7上海

(2)取出所在城市为上海的所有工程的全部细节;

SELECT*FROMJBWHERECETY=“上海”TOSCREEN;

JNJNAMECITY

--------------------------------------

J1JN1

J5JN5

J7JN7

(3)取出重量最轻的零件代号;

SELECTPNFROMPB

WHERHWEIGHT=

(SELECTMIN(WEIGHT)FROMPB)TOSCREEN;

PN

――――

P5

――――

(4)取出为工程式J1提供零件的供应商代号;

SELECTSNFROMSPJBWHEREJN=“J1”TOSCREEN;

SN

――――

S1

S2

S3

――――

(5)取出为工程J1提供P1的供应商代号;

SELECTSNFROMSPJB

WHEREJN=“J1”ANDPN=“P1”TOSCREEN;

SN

――

S1

――

(6)取出由供应商S1提供零件的工程名称;

SELECTJB.JNAMEFROMJB,SPJB

WHEREJB.JN=SPJB.JNANDSPJB.SN=“S1”TOSCREEN;

JNAME

――――――

JN1

JN4

――――――

(7)取出供应商S1提供的零件的颜色;

SELECTDISTINCTPB.COLORFROMPB,SPJB

WHEREPB.PN=SPJB.PNANDSPJB.SN=“1”TOSCREEN;

COLOR

―――

―――

(8)取出为工程J1或J2提供零件的供应商代号;

SELECTDISTINCTSNFROMSPJB

WHEREJN=“J1”ORJN=“J2”TOSCREEN;

SN

―――

S1

S2

S3

S5

―――

(9)取出为工程J1提供红色零件的供应商代号;

SELECTDISTINCTSPJB.SNFROMSPJB,PB

WHEREPB.PN=SPJB.PNANDSPJB.JN=“J1”ANDPB.COLOR=“红”TOSCREEN;

SN

――-

S1

――-

(10)取出为所在城市为上海的工程提供零件的供应商代号;

SELECTDISTINCTSPJB.SNFROMSPJB,JB

WHERESPJB.JN=JB.JNANDJB.CITY=“上海”TOSCREEN;

SN

―――

S1

S2

S3

S4

S5

――-

(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;

SELECTSPJB.SNFROMPB,JB,SPJB

WHERESPJB.PN=PB.PNANDJB.JN=SPJB.JNANDPB.COLOR=‘红’AND

(JB.CITY=“上海”ORJB.CITY=“北京”TOSCREEN;

SN

――

S1

S4

――

(12)取出供应商与工程所在城市相同的供应商提供的零件代号;

SELECTDISTINCTSPJB.PNFROMSB,JB,SPJB

WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=JB.CITYTO

SCREEN;

PN

――――

P1

P2

P3

P4

P5

P6

―――――

(13)取出上海的供应商提供给上海的任一工程的零件的代号;

SELECTSPJB.PNFROMSB,JB,SPJB

WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=“上海”AND

JB.CITY=“上海”TOSCREEN;

PN

――――

P1

P6

――――

(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1