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

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

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

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

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

关系数据库标准语言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.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)

⑵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)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号;

SELECTDISTINCTSPJB.JNFROMSB,JB,SPJB

WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY<>JB.CITYTOSCREEN;

JN

――――

J1

J2

J3

J4

J5

J6

J7

――――

(15)取出上海供应商不提供任何零件的工程的代号

SELECTDISTINCTJNFROMSPJB

WHEREJNNOTIN

(SELECTDISTINCTSPJB.JNFROMSB,SPJB

WHERESB.SN=SPJB.SNANDSB.CITY=“上海”)TOSCREEN;

JN

――――

J2

J5

J6

――――

(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;

SELECTDISTINCTSPJB.SNFROMPB,SPJB

WHERESPJB.PNIN

(SELECTSPJB.PNFROMSPJB,SB,PB

WHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDPB.COLOR=“红”TO

SCREEN;

SN

――――

S1

S2

S3

S4

S5

――――

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

SELECTDISTINCTSPJB.JNFROMSB,PB,SPJB

WHIERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDSB.SN=“S1”TOSCREEN;

JN

————

J1

J4

————

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

SELECTDISTINCTSB.CITY,JB.CITYFROMSB,JB,SPJB

WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNTOSCREEN;

CITY_ACITY_B

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

北京广州

北京南京

北京上海

北京武汉

南京广州

南京南京

南京上海

上海南京

上海上海

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

(19)取出所有这样的三元组,使得第1个城市的供应商为第2个城市的工程提供指定的零件;

SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJB

WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNTOSCREEN;

CITY_APNCITY_B

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

北京P3广州

北京P3南京

北京P3上海

北京P3武汉

北京P4广州

北京P5广州

南京P1南京

南京P2广州

南京P2南京

南京P3南京

南京P4南京

南京P5南京

南京P5上海

南京P6广州

南京P6南京

上海P1南京

上海P1上海

上海P6南京

上海P6上海

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

(20)重复(19)题,但不检索两个CITY值相同的三元组。

SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJB

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

SCREEN;

CITY_APNCITY_B

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

北京P3广州

北京P3南京

北京P3上海

北京P3武汉

北京P4广州

北京P5广州

南京P2广州

南京P5上海

南京P6广州

上海P1南京

上海P6南京

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

12.有样本表student、teacher、course和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。

Studentscore

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

NONAMESEXBIRTHDAYCLASSNOCNODEGREE

108曾华男09/01/77950331033-24586

105匡明男10/02/75950311053-24575

107王丽女01/23/76950331093-24568

101李军男02/20/76950331033-10592

109王芳女02/10/75950311053-10588

103陆军男06/03/74950311093-10576

1013-10564

1013-10591

1013-10578

1016-16685

1016-16679

1016-16681

teachercourse

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

NONAMESEXBRITHDAYPROFDEPARTCNOCNAMETNO

804李诚男12/02/58副教授计算机3-103计算机导论825

856张旭男03/12/69讲师电子3-245操作系统825

825王萍女05/05/72助教计算机6-166数字电路825

831刘冰女08/14/77助教电子9-888高等数学825

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

SELECTclassFROMstudentWHEREsex=“男”

GROUPBYclassHAVINGCOUNT(*)>=2TOSCREEN;

CLASS

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

95031

95033

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

⑵屏幕显示student表中不姓“王”的同学记录。

SELECT*FROMstudenWHEREnamenotlike“王%”TOSCREEN;

NONAMESEXBIRTHDAYCLASS

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

108曾华男09/01/7695033

105匡明男10/02/7595031

101李军男02/20/7695033

103陆君男06/03/7495031

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

⑶屏幕显示student表示每个学生的姓名和年龄。

SELECTnameas“姓名”,year(date())-year(birthday)as“年龄”

FROMstudentTOSCREEN;

姓名年龄

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

曾华23

匡明24

王丽23

李军23

王芳24

陆君25

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

⑷屏幕显示student表中最大和最小的birthday日期值。

SELECTname,max(birthday),min(birthday)FROMstudentTOSCREEN;

NAMEMAX_BIRTHDAYMIN_BIRTHDAY

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

陆君77.09.0174.06.03

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

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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