数据库第三章习题Word下载.docx

上传人:b****5 文档编号:8554588 上传时间:2023-05-11 格式:DOCX 页数:17 大小:55.03KB
下载 相关 举报
数据库第三章习题Word下载.docx_第1页
第1页 / 共17页
数据库第三章习题Word下载.docx_第2页
第2页 / 共17页
数据库第三章习题Word下载.docx_第3页
第3页 / 共17页
数据库第三章习题Word下载.docx_第4页
第4页 / 共17页
数据库第三章习题Word下载.docx_第5页
第5页 / 共17页
数据库第三章习题Word下载.docx_第6页
第6页 / 共17页
数据库第三章习题Word下载.docx_第7页
第7页 / 共17页
数据库第三章习题Word下载.docx_第8页
第8页 / 共17页
数据库第三章习题Word下载.docx_第9页
第9页 / 共17页
数据库第三章习题Word下载.docx_第10页
第10页 / 共17页
数据库第三章习题Word下载.docx_第11页
第11页 / 共17页
数据库第三章习题Word下载.docx_第12页
第12页 / 共17页
数据库第三章习题Word下载.docx_第13页
第13页 / 共17页
数据库第三章习题Word下载.docx_第14页
第14页 / 共17页
数据库第三章习题Word下载.docx_第15页
第15页 / 共17页
数据库第三章习题Word下载.docx_第16页
第16页 / 共17页
数据库第三章习题Word下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库第三章习题Word下载.docx

《数据库第三章习题Word下载.docx》由会员分享,可在线阅读,更多相关《数据库第三章习题Word下载.docx(17页珍藏版)》请在冰点文库上搜索。

数据库第三章习题Word下载.docx

正确的SELECT语句是()。

SN,AGE,SEXFROMSWHEREAGE>

(SELECTAGEFROMSWHERESN=’王华’)

SN,AGE,SEXFROMSWHERESN=’王华’

SN,AGE,SEXFROMSWHEREAGE>

(SELECTAGEWHERESN=’王华’)

王华.AGE

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

S#FROMSCWHEREC#=’C2’ANDGRADE>

=(SELECTGRADEFROMSCWHEREC#=’C2’)

S#FROMSCWHEREC#=’C2’ANDGRADEIN(SELECTGRADEFROMSCWHEREC#=’C2’)

S#FROMSCWHEREC#=’C2’ANDGRADENOTIN(SELECTGRADEFROMSCWHEREC#=’C2’)

S#FROMSCWHEREC#=’C2’ANDGRADE>

=ALL(SELECTGRADEFROMSCWHEREC#=’C2’)

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

,#,FROMSWHERE#=#

#,FROMSCWHERE#=,#,FROMS,SCWHERE#=#

#,FROMS,SC

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

正确的SELECT的语句是()。

S#,SUM(GRADE)FROMSCWHEREGRADE>

=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)>

=4

S#,SUM(GRADE)FROMSCWHEREGRADE>

=60GROUPBYS#HAVINGCOUNT(*)>

=4ORDERBY2DESC

C.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>

=60HAVINGCOUNT(*)>

=4GROUPBYS#ORDERBY2DESC

D.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>

=60ORDERBY2DESCGROUPBYS#HAVINGCOUNT(*)>

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

要查找选修“COMPUTER”课程的:

“女”学生姓名,将涉及到关系()。

C,SCD.S,C,SC

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

职工表部门表

职工号

职工名

部门号

工资

001

李红

01

580

005

刘军

670

025

王芳

03

720

038

张强

02

650

部门名

主任

人事处

高平

财务处

蒋华

教务处

许红

04

学生处

杜琼

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

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

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

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

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

CREATETABLEstudent(NOCHAR(4)NOTNULL,NAMECHAR(10)NOTNULL,SEXCHAR

(2),AGEINT),可以插到student表中的是()。

A.(‘1031’,‘曾华’,男,23)B.(‘1031’,‘曾华’,NULL,NULL)

C.(NULL,‘曾华’,‘男’,‘23’)D.(‘1031’,NULL,‘男’,23)

22.数据库中建立索引的目的是为了()。

A加快建表速度B加快存取速度C提高安全性D节省存储空间

23.视图是数据库系统三级模式中的()。

A外模式B模式C内模式D模式映像

24.下列说法不正确的是()。

A基本表和视图一样,都是关系

B可以使用SQL对基本表和视图进行操作

C可以从基本表或视图上定义视图

D基本表和视图中都存储数据

二、综合题

1.已知关系R如图所示

R

A

B

C

97

98

99

b1

b2

b3

84

92

72

95

88

94

图关系R

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

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

CreateviewRVE(A,CMAX,CMIN)

As

Selectmax(C),min(C)

FromR

GroupbyA;

(2)在视图RVE中查询属性A=‘98’的记录。

Select*

FromRVE

WhereA=‘98’;

2.已知学生表S和学生选课表SC其关系模式如下:

S(SNO,SN,SD,PROV);

SC(SNO,CN,GR),其中SNO为学号,SD为系名,PROV为省区,CN为课程名,GR为分数。

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

SelectDISTINCTPROV

FromS

WhereSD=‘信息系’;

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

SelectSN,GR

FromS,SC

Where=ANDSD=‘英语’ANDCN=‘计算机’

GroupbyGRDESC;

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

(1)创建一个视图V-SSC(SNO,SN,CNO,CN,G)。

CreateviewV-SSC(SNO,SN,CNO,CN,G)

AS

Select,,,,

FromS,SC

Where=

(2)从视图V-SSC上查询平均成绩在90分以上的SNO和平均分。

SelectSNO,AVG(G)

FromV-SSC

GroupbySNO

HavingAVG(G)

4.设有关系模式:

S(SN,SNAME,CITY)其中,S代表供应商,SN,代表供应商号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN;

P(PN,PNAME,COLOR,WEIGHT)其中P代表零件,PN代表零件号,PNAME代表零件名,COLOR为零件颜色,WEGHT为零件重量,主关键字为PN;

J(JN,JNAME,CITY)其中J表示工程,JN为工程编号,JNAME为工程名,CITY为工程所在城市,主关键字为JN。

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

 

SPJ

SN

PN

JN

QTY

S1

S2

S3

S4

S5

P1

P3

P4

P6

P2

P5

J1

J4

J2

J3

J5

J6

J7

200

700

400

500

600

800

100

300

1000

1200

SNAME

CITY

S2

N1

N2

N3

N4

N5

上海

北京

南京

S

(1)取出工程的全部细节。

FromJ

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

WhereCITY=‘上海’;

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

SelectPN

FromP

WhereWEIGHT=

(SelectMIN(WEIGHT)

FromP);

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

SelectSN

FromSPJ

WhereJN=’J1’;

(5)

取出为工程J1提供零件P1的供应商代号。

WhereJN=’J1’ANDPN=’P1’;

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

Select

FromSPJ,J

Where=AND=‘S1’;

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

SelectDistinct

FromSPJ,P

Where=AND=’S1’;

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

SelectDistinctSN

WhereJN=’J1’ORJN=’J2’;

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

Where=AND=‘J1’AND=‘红’;

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

SelectDISTINCT

FromJ,SPJ

Where=AND=‘上海’;

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

FromP,J,SPJ

Where=AND=AND=‘红’AND(=‘上海’OR=‘北京’);

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

FromS,J,SPJ

Where=AND=AND=

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

FromS,J,SPJ

Where=AND=AND=‘上海’AND=‘上海’;

(14)取出由供应商S1提供零件的工程的代号。

FromS,P,SPJ

Where=AND=AND=‘S1’;

(15)取出所有这样的一些<

CITY,CITY>

二元组,使得第1个城市的供应商为第2个城市的工程提供零件。

SelectDistinct,

Where=AND=;

(16)把零件P2的重量增加5,颜色改为黄色。

UPDATEP

SETWEIGHT=WEIGHT+5,COLOR=‘黄’

WherePN=‘P2’;

(17)将没有供货的所有工程项目从J表中删除。

Delete

WhereJNnotin

(Select*

FromSPJ);

(18)查询提供全部零件的供应商名。

SelectSNAME

WhereSNOIN(

SELECTSNO

FROMSPJ);

(19)查询这样的工程项目号:

该工程项目使用P1零件的平均使用量大于工程项目J1使用的任何一种零件的最大数量。

SELECTJNO

FROMSPJ

WHERE=P1

GROUPBYJNO

HAVINGAVG(QTY)>

(SELECTQTY

WHERE=‘J1’);

(20)定义一个视图,它由所有这样的工程项目(工程项目号与所在城市名称)组成:

它们由供应商S1供货且使用零件P1。

CREATVIEWJN,JCITY

Select,

Where=AND=’S1’AND=’P1’;

5.假设有如下4个样本表:

student(学生信息表)

NO

NAME

SEX

BIRTHDAY

CLASS

108

105

107

101

109

103

曾华

匡明

王丽

李军

王芳

陆军

09/01/77

10/02/75

01/23/76

02/20/76/

02/10/75

06/03/74

95033

95031

teacher(教师信息表)

PROF

DEPART

804

856

825

831

李成

张旭

王萍

刘冰

12/02/58

03/12/69

05/05/72

08/14/77

副教授

讲师

助教

计算机系

电子工程系

course(课程表)score(成绩表)

CNO

CNAME

TNO

3-105

3-245

6-166

9-888

计算机导论

操作系统

数字电路

高等数学

DEGREE

86

75

(1)

列出至少有2名男生的班号。

SelectCLASS

Fromstudent

WhereSEX=’男’

GROUPBYCLASS

HAVINGCOUNT(*)>

2

(2)显示student表中不姓“王”的同学记录。

SELECT*

FROMSTUDENT

WHERENAMENOTLIKE‘王%’;

(3)显示student表中每个学生的姓名和年龄。

SELECTNAME,2017-YEAR(birthday)

FROMSTUDENT;

(4)显示student表中最大和最小的birthday日期值。

SELECTNAME,MAX(BIRTHDAY),MIN(BIRTHDAY)

(5)以班号和年龄从大到小的顺序显示student表中的全部记录。

ORDERBYCLASS,2017-YEAR(BIRTHDAY)DESC

(6)显示“男”教师及其所上的课程。

SELECT,

FROMTEACHER,COURSE

WHERE=AND=‘男’;

(7)列出最高分同学的no、cno和degree列。

SELECTNO,CNO,DEGREE

FROMSCORE

WHEREDEGREE=

(SELECTMAX(DEGREE)

FROMSCORE)

(8)列出和“李军”同性别的所有同学的name。

SELECTNAME

WHERESEX=

(SELECTSEX

FROMSTUDENT

WHERENAME=‘李军’);

(9)列出和“李军”同性别并同班的同学name。

WHERESEX=

(SELECETSEX

FROMSTUDENT

WHRERNAME=‘李军’)

ANDCLASS=

(SELECTCLASS

WHERENAME=‘李军’);

(10)列出所有选修“计算机导论”课程的“男”同学的成绩表。

SELECT,,

FROMSTUDENT,COURSE,SCORE

WHERE=AND=

AND=‘计算机导论’AND=‘男’;

6、设职工---社团数据库有三个基本表:

职工(职工号,姓名,年龄,性别);

社会团体(编号,名称,负责人号,活动地点);

参加(职工号,编号,参加日期);

试用SQL语句完成下列操作:

1)建立下列两个视图。

社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);

参加人情况(职工号,姓名,社团编号,社团名称,参加日期)

CREATEVIEW社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)

SELECT编号,名称,负责人,姓名,性别

FROM社会团体,职工

WHERE社会团体.负责任号=职工.职工号

CREATEVIEW参加人情况(职工号,姓名,社团编号,社团名称,参加日期)

SELECT参加.职工号,职工.姓名,社会团体.编号,社会团体.名称,参加。

参加日期

FROM职工,社会团体,参加

WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号;

2)查找参加唱歌队或篮球队的职工号和姓名。

SELECT职工号,姓名

FROM职工,社会团体,参加

WHERE职工.职工号=参加.职工号AND参加.编号=社会团体.编号

AND社会团体.名称=‘唱歌队’OR社会团体.名称=‘篮球队’;

3)查找没有参加任何团体的职工情况。

FROM职工

WHERENOTEXISTS

(SELECT*

FROM参加

WHERE参加.职工号=职工.职工号);

4)查找参加了全部社会团体的职工情况。

(SELECT*

FROM社会团体

WHERE参加.职工号=职工.职工号AND

参加.编号=社会团体.编号));

5)查找至少参加了职工号为“1001”的职工所参加的全部社会团体的职工号。

SELECT职工号

WHERENOTEXISTS(

FROM参加参加1

WHERE参加1.职工号=‘1001’ANDNOTEXISTS

(SELECT*

FROM参加.参加2

WHERE参加2.编号=参加1.编号

AND参加2.职工号=职工.职工号))

6)求每个社会团体的参加人数。

SELECTCOUNT(职工号)

GROUPBY编号

7)把对“社会团体”和“参加”两个表的数据查看、插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。

GRANTSELECT,INSERT,DELECT

ON社会团体,参加

TO李平

WITHGRANTOPTION;

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

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2