数据库第三章习题.docx

上传人:b****7 文档编号:10885920 上传时间:2023-02-23 格式:DOCX 页数:20 大小:23.35KB
下载 相关 举报
数据库第三章习题.docx_第1页
第1页 / 共20页
数据库第三章习题.docx_第2页
第2页 / 共20页
数据库第三章习题.docx_第3页
第3页 / 共20页
数据库第三章习题.docx_第4页
第4页 / 共20页
数据库第三章习题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库第三章习题.docx

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

数据库第三章习题.docx

数据库第三章习题

第3章SQL语言习题

一、单项选择题

1、SQL语言就是()得语言,易学习。

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

2、SQL语言就是()语言。

A、层次数据库B、网络数据库C、关系数据库D、非数据库

3、SQL语言具有()得功能。

A、关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制

C、数据定义、关系规范化、数据控制D、数据定义、关系规范化、数据操纵

4、关于SQL语言,下列说法正确得就是()。

A数据控制功能不就是SQL语言得功能之一

BSQL采用得就是面向记录得操作方式,以记录为单位进行操作

CSQL就是非过程化得语言,用户无须指定存取路径

DSQL作为嵌入式语言语法与独立得语言有较大差别

5、对表中数据进行删除得操作就是()。

A、DROPB、ALTERC、UPDATED、DELETE

6、SQL语言得数据操纵语句包括SELECT,INSERT,UPDATE与DELETE等。

其中最重要得,也就是使用最频繁得语句就是()。

A、SELECTB、INSERTC、UPDATED、DELETE

7、SQL语言具有两种使用方式,分别称为交互式SQL与()。

A、提示式SQLB、用户式SQLC、嵌入式SQLD、解释式SQL

8、SQL语言中,实现数据检索得语句就是()。

A、SELECTB、INSERTC、UPDATED、DELETE

9、下列SQL语句中,修改表结构得就是()。

A、ALTERB、CREATEC、UPDATED、DELETE

10.在SQL中,用户可以直接操作得就是()。

A基本表B视图C存储文件D基本表与视图

11.在SQL得查询语句中,对应关系代数中“投影”运算得语句就是()。

AWHEREBFROMCSELECTDHAVING

12.在SELECT语句中,需对分组情况满足得条件进行判断时,应使用()。

AWHEREBGROUPBYCORDERBYDHAVING

13.SQL中,与“NOTIN”等价得操作符就是()。

A=ANYB<>ANYC=ALLD<>ALL

14.视图建立后,在数据字典中存放得就是()。

A查询语句B组成视图得表得内容

C视图得定义D产生视图得表得定义

第15到第18题基于这样得三个表即学生表S、课程表C与学生选课表SC,它们得结构如下:

S(S#,SN,SEX,AGE,DEPT)

C(C#,CN)

SC(S#,C#,GRADE)

其中:

S#为学号,SN为姓名,SEX性别,AGE为年龄,DETP为系别,C#为课程号,CN为课程名,GRADE为成绩。

15、检索所有比“王华”年龄大得学生姓名、年龄与性别。

正确得SELECT语句就是()。

A、SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEFROMSWHERESN=’王华’)

B、SELECTSN,AGE,SEXFROMSWHERESN=’王华’

C、SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEWHERESN=’王华’)

D、SELECTSN,AGE,SEXFROMSWHEREAGE>王华、AGE

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

正确得SELECT语句就是()。

A、SELECTS#FROMSCWHEREC#=’C2’ANDGRADE>=(SELECTGRADEFROMSCWHEREC#=’C2’)

B、SELECTS#FROMSCWHEREC#=’C2’ANDGRADEIN(SELECTGRADEFROMSCWHEREC#=’C2’)

C、SELECTS#FROMSCWHEREC#=’C2’ANDGRADENOTIN(SELECTGRADEFROMSCWHEREC#=’C2’)

D、SELECTS#FROMSCWHEREC#=’C2’ANDGRADE>=ALL(SELECTGRADEFROMSCWHEREC#=’C2’)

17、检索学生姓名及其所选修课程得课程号与成绩。

正确得SELECT语句就是()。

A、SELECTS、SN,SC、C#,SC、GRADEFROMSWHERES、S#=SC、S#

B、SELECTS、SN,SC、C#,SC、GRADEFROMSCWHERES、S#=SC、GRADEC、SELECTS、SN,SC、C#,SC、GRADEFROMS,SCWHERES、S#=SC、S#

D、SELECTS、SN,SC、C#,SC、GRADEFROMS,SC

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

正确得SELECT得语句就是()。

A、SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)>=4

B、SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60GROUPBYS#HAVINGCOUNT(*)>=4ORDERBY2DESC

C、SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60HAVINGCOUNT(*)>=4GROUPBYS#ORDERBY2DESC

D、SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60ORDERBY2DESCGROUPBYS#HAVINGCOUNT(*)>=4

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

要查找选修“PUTER”课程得:

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

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

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

职工表部门表

职工号

职工名

部门号

工资

001

李红

01

580

005

刘军

01

670

025

王芳

03

720

038

张强

02

650

部门号

部门名

主任

01

人事处

高平

02

财务处

蒋华

03

教务处

许红

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

97

97

98

98

98

99

99

b1

b2

b3

b1

b2

b3

b1

b2

84

92

98

72

84

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为分数。

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

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

SelectDISTINCTPROV

FromS

WhereSD=‘信息系’;

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

SelectSN,GR

FromS,SC

WhereS、SNO=SC、SNOANDSD=‘英语’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

SelectS、SNO,S、SN,SCO,SC,SC、G

FromS,SC

WhereS、SNO=SC、SNO

(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

S1

S2

S2

S2

S2

S2

S2

S2

S2

S3

S3

S4

S4

S5

S5

S5

S5

S5

S5

S5

S5

S5

S5

P1

P1

P3

P3

P3

P3

P3

P3

P3

P3

P3

P4

P6

P6

P2

P2

P5

P5

P6

P1

P3

P4

P5

P6

J1

J4

J1

J2

J3

J4

J5

J6

J7

J2

J1

J2

J3

J7

J2

J4

J5

J7

J2

J4

J4

J4

J4

J4

200

700

400

200

200

500

600

400

800

100

200

500

300

300

200

100

500

100

200

1000

1200

800

400

500

SN

SNAME

CITY

S1

S2

S3

S4

S5

N1

N2

N3

N4

N5

上海

北京

北京

上海

南京

S

P

PN

PNAME

COLOR

WEIGHT

P1

P2

P3

P4

P5

P6

PN1

PN2

PN3

PN4

PN5

PN6

绿

绿

12

18

20

13

11

15

J

JN

JNAME

CITY

J1

J2

J3

J4

J5

J6

J7

JN1

JN2

JN3

JN4

JN5

JN6

JN7

上海

广州

南京

南京

上海

武汉

上海

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

Select*

FromJ

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

Select*

FromJ

WhereCITY=‘上海’;

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

SelectPN

FromP

WhereWEIGHT=

(SelectMIN(WEIGHT)

FromP);

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

SelectSN

FromSPJ

WhereJN=’J1’;

(5)

S(SN,SNAME,CITY)

P(PN,PNAME,COLOR,WEIGHT)

J(JN,JNAME,CITY)

SPJ(SN,PN,JN,QTY)

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

SelectSN

FromSPJ

WhereJN=’J1’ANDPN=’P1’;

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

SelectJ、JNAME

FromSPJ,J

WhereSPJ、JN=J、JNANDSPJ、SN=‘S1’;

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

SelectDistinctP、COLOR

FromSPJ,P

WhereSPJ、PN=P、PNANDSPJ、SN=’S1’;

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

SelectDistinctSN

FromSPJ

WhereJN=’J1’ORJN=’J2’;

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

SelectDistinctSPJ、SN

FromSPJ,P

WhereSPJ、PN=P、PNANDSPJ、JN=‘J1’ANDP、COLOR=‘红’;

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

SelectDISTINCTSPJ、SN

FromJ,SPJ

WhereJ、JN=SPJ、JNANDJ、CITY=‘上海’;

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

SelectSPJ、SN

FromP,J,SPJ

WhereJ、JN=SPJ、JNOANDP、PN=SPJ、PNANDP、COLOR=‘红’AND(J、CITY=‘上海’ORJ、CITY=‘北京’);

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

SelectDISTINCTSPJ、PN

FromS,J,SPJ

WhereJ、JN=SPJ、JNANDS、SN=SPJ、SNANDJ、CITY=S、CITY

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

SelectSPJ、PN

FromS,J,SPJ

WhereJ、JN=SPJ、JNANDS、SN=SPJ、SNANDJ、CITY=‘上海’ANDS、CITY=‘上海’;

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

SelectDistinctSPJ、JN

FromS,P,SPJ

WhereS、SN=SPJ、SNANDP、PN=SPJ、PNANDS、SN=‘S1’;

(15)取出所有这样得一些二元组,使得第1个城市得供应商为第2个城市得工程提供零件。

SelectDistinctS、CITY,J、CITY

FromS,J,SPJ

WhereS、SN=SPJ、SNANDJ、JN=SPJ、JN;

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

UPDATEP

SETWEIGHT=WEIGHT+5,COLOR=‘黄’

WherePN=‘P2’;

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

Delete

FromJ

WhereJNnotin

(Select*

FromSPJ);

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

SelectSNAME

FromS

WhereSNOIN(

SELECTSNO

FROMSPJ);

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

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

SELECTJNO

FROMSPJ

WHERESPJ、PNO=P1

GROUPBYJNO

HAVINGAVG(QTY)>ALL

(SELECTQTY

FROMSPJ

WHERESPJ、JNO=‘J1’);

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

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

CREATVIEWJN,JCITY

AS

SelectJ、JN,J、CITY

FromJ,SPJ

WhereJ、JN=SPJ、JNANDSPJ、SN=’S1’ANDSPJ、PN=’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

95033

95033

95031

95031

teacher(教师信息表)

NO

NAME

SEX

BIRTHDAY

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

计算机导论

操作系统

数字电路

高等数学

825

804

856

100

NO

CNO

DEGREE

103

105

3-245

3-245

86

75

(1)

Student(NO,NAME,SEX,BIRTHDAY,CLASS)

Teacher(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)

Course(CNO,CNAME,TNO)

Score(NO,CNO,DEGREE)

列出至少有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)

FROMSTUDENT;

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

SELECT*

FROMSTUDENT

ORDERBYCLASS,2017-YEAR(BIRTHDAY)DESC

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

SELECTTEACHER、NAME,COURSE、NAME

FROMTEACHER,COURSE

WHERETEACHER、NO=COURSE、TNOANDTEACHER、SEX=‘男’;

(7)列出最高分同学得no、cno与degree列。

SELECTNO,CNO,DEGREE

FROMSCORE

WHEREDEGREE=

(SELECTMAX(DEGREE)

FROMSCORE)

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

SELECTNAME

FROMSTUDENT

WHERESEX=

(SELECTSEX

FROMSTUDENT

WHERENAME=‘李军’);

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

SELECTNAME

FROMSTUDENT

WHERESEX=

(SELECETSEX

FROMSTUDENT

WHRERNAME=‘李军’)

ANDCLASS=

(SELECTCLASS

FROMSTUDENT

WHERENAME=‘李军’);

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

SELECTSTUDENT、NO,COUSEO,SCORE、DEGREE

FROMSTUDENT,COURSE,SCORE

WHERESTUDENT、NO=SCORE、NOANDCOURSEO=SCOREO

ANDCOURSEAME=‘计算机导论’ANDSTUDENT、SEX=‘男’;

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

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

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

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

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

1)建立下列两个视图。

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

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

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

AS

SELECT编号,名称,负

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

当前位置:首页 > PPT模板 > 简洁抽象

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

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