关系数据库标准语言SQL练习题Word文档下载推荐.docx
- 文档编号:5944820
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:25
- 大小:107.82KB
关系数据库标准语言SQL练习题Word文档下载推荐.docx
《关系数据库标准语言SQL练习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL练习题Word文档下载推荐.docx(25页珍藏版)》请在冰点文库上搜索。
王华.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
=ALL(SELECTGRADEFORMSCWHERE
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)
=60GROUPBYS#HAVINGCOUNT(*)>
ORDERBY2DESC
=60HAVINGCOUNT(*)>
=4GROUPBYS#
=60ORDERBY2DESCGROUPBYS#
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’
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
C
D
E
a1
b1
c1
d1
e1
a2
b2
c2
d2
e2
a3
b3
8.已知关系R如图所示。
R
97
84
a297
92
a397
98
72
95
99
88
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;
――
(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;
S5
(9)取出为工程J1提供红色零件的供应商代号;
SELECTDISTINCTSPJB.SNFROMSPJB,PB
WHEREPB.PN=SPJB.PNANDSPJB.JN=“J1”ANDPB.COLOR=“红”TOSCREEN;
――-
(10)取出为所在城市为上海的工程提供零件的供应商代号;
SELECTDISTINCTSPJB.SNFROMSPJB,JB
WHERESPJB.JN=JB.JNANDJB.CITY=“上海”TOSCREEN;
S4
(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;
SELECTSPJB.SNFROMPB,JB,SPJB
WHERESPJB.PN=PB.PNANDJB.JN=SPJB.JNANDPB.COLOR=‘红’AND
(JB.CITY=“上海”ORJB.CITY=“北京”TOSCREEN;
(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
(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;
(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;
SELECTDISTINCTSPJB.SNFROMPB,SPJB
WHERESPJB.PNIN
(SELECTSPJB.PNFROMSPJB,SB,PB
WHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDPB.COLOR=“红”TO
SN
S1
S2
S3
S4
S5
(17)取出由供应商S1提供零件的工程的代号:
SELECTDISTINCTSPJB.JNFROMSB,PB,SPJB
WHIERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDSB.SN=“S1”TOSCREEN;
————
J1
J4
(18)取出所有这样的一些<
CITY,CITY>
二元组,使得第1个城市的供应商为第2个城市的工程提供零件;
SELECTDISTINCTSB.CITY,JB.CITYFROMSB,JB,SPJB
WHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNTOSCREEN;
CITY_ACITY_B
-----------------------------------
北京广州
北京南京
北京上海
北京武汉
南京广州
南京南京
南京上海
上海南京
上海上海
(19)取出所有这样的三元组<
CITY,PN,CITY>
,使得第1个城市的供应商为第2个城市的工程提供指定的零件;
SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJB
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值相同的三元组。
JB.CITYTO
--------------------------------------------
---------------------------------------------
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 标准 语言 SQL 练习题