1、关系数据库标准语言SQL练习题第3章 关系数据库标准语言SQL一单项选择题SQL语言是的语言,易学习。A过程化 B非过程化 C格式化 D导航式B2SQL语言是语言。A层次数据库 B网络数据库 C关系数据库 D非数据库3SQL语言具有的功能。A关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制C数据定义、关系规范化、数据控制C数据定义、关系规范化、数据操纵4SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是。ASELECT BINSERT CUPDATE DDELETE5在关系代数运算中,五种基本运算为。A并、差、
2、选择、投影、自然连接 B并、差、交、选择、投影C并、差、选择、投影、乘积 D并、差、交、选择、乘积6 SQL语言中,实现数据检索的语句是。ASELECT BINSERT CUPDATE DDELETE7下列SQL语句中,修改表结构的是。AALTER BCREATE CUPDATE DINSERT第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检索
3、所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是A。ASELECT SN,AGE,SEXFROM S WHERE AGE(SELECT AGE FROM S WHERE SN=“王华”)BSELECT SN,AGE,SEXFROM S WHERE SN=“王华”CSELECT SN,AGE,SEXFROM S WHERE AGE(SELECT AGE WHERE SN=“王华”)DSELECT SN,AGE,SEXFROM S WHERE AGE王华AGE9检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是D。ASELECT S# FORM SCWH
4、ERE C#=“C2”AND GRADE=(SELECT GRADE FORM SC WHERE C#=“C2”)BSELECT S# FORM SCWHERE C#=“C2”AND GRADE IN(SELECT GRADE FORM SC WHERE C#=“C2”)CSELECT S# FORM SCWHERE C#=“C2”AND GRADE NOT IN(SELECT GRADE FORM SC WHEREC#=“C2”)DSELECT S# FORM SCWHERE C#=“C2”AND GRADE=ALL(SELECT GRADE FORM SC WHEREC#=“C2”)10检
5、索学生姓名及其所选修课程号和成绩。正确的SELECT语句是C。SELECT SSN,SCC#,SCGRADEFROM S WHERE SS#=SCS#BSELECT SSN,SCC#,SCGRADEFROM S WHERE SS#=SCGRADECSELECT SSN,SCC#,SCGRADEFROM S,SC WHERE SS#=SCS#DSELECT SSN,SCC#,SCGRADEFROM SSC11检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是B。ASELECT S#,SUM(GRADE)FROM SC WHERE GRA
6、DE=60 GROUP BY S# ORDER BY 2 DESCHAVING COUNT(*)=4SELECT S#,SUM(GRADE)FROM SC WHERE GRADE=60 GROUP BY S# HAVING COUNT(*)=4ORDER BY 2 DESCSELECT S#,SUM(GRADE)FROM SC WHERE GRADE=60 HAVING COUNT(*)=4 GROUP BY S#ORDER BY 2 DESCSELECT S#,SUM(GRADE)FROM SC WHERE GRADE=60 ORDER BY 2 DESC GROUP BY S#HAVING
7、 COUNT(*)=412假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系D。AS BSC,C CS,SC DS,C,SC13如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作不能执行。职工表 部门表A从职工表中删除行(025,王芳,03,720)B将行(005,乔兴,04,750)插入到职工表中C将职工号为001工资改为700D将职工号为038部门号改为03B14若用如下的SQL语句创建一个
8、student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2);可以插入到student表中的是。A(1031,曾华,男,23) B(1031,曾华,NULL,NULL)C(NULL,曾华,男,23) D(1031,NULL,男,23)B二、填空题1SQL是。结构化查询语言2SQL语言的数据定义功能包括、和。定义数据库 定义基本表 定义视图 定义索引3视图是一个虚表,它是从中导出的表。在数据库中,只存放视图的,不存视图的。一个或几个基本表 定义 视图对应的数据4设有如下关系表R、S和:R(B
9、H,XM,XB,DWH)S(DWH,DW)T(BH,XM,XB,DWH)实现RT的语句是。实现RT的语句是。实现RT的语句是。实现RT的语句是。实现RT的语句是。实现RT的语句是。SELECT * FROM R UNION SELECT * FROM TSELECT * FROM R WHERE DWH=100SELECT XM,XB FROM RSELECT X,DWH FROM R WHERE XB=“女”SELECT RBH,RXM,RXB,RDWH,SDWH,SDWMFROM R,S WHERE RDWH=SDWHSELECT RXM,RXB,SDWMFROM R,S WHERE RD
10、WH=SDWH AND RXB=“男”5设有如下关系表R:R(NO,NAME,SEX,AGE,CLASS)主关键字的NO。其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列的SQL语句。插入一个记录(25,“李明”“男”,21,“95031”);插入“95031”班号为30、姓名为“郑和”的学生记录;将学号为10的学生姓名改为“王华”;将所有“95101班号改为“95091”;删除学号为的学生记录;删除姓“王”的学生记录;INSERT INTO R VALUES(25,“李明”,“男”,21,“95031”)INSERT INTO R(NO,NAME,C
11、LASS)VALUES(30,“郑和”,“95031”)UPDATE R SET NAME=“王华” WHERE NO=10UPDATE R SET CLASS=“95091” WHERE CLASS=“95101”DELETE FROM R WHERE NO=20DELETE FROM R WHERE NAME LIKE “王%”习题31叙述S语言支持的三级逻辑结构。答:S语言支持的三级逻辑结构如图1所示在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在isual Foxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中
12、。一个基本表就是一个关系,它不是由其人表导出的表。基本表是使用CDEATE TABLE语句建立的。在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CDEATE VIEW语句建立的。在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。2叙述使用SQL语言实现各种关系运算的方法。答:由Visual Foxpro支持的SQL语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的SQL语句格式是:RS:SELECT语句(生成R) UNION SE
13、LECT语句(生成S)选择:SELECT * FROM WHERE 投影:SELECT FROM选择:SELECT FROM WHERE3设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果。 A ABA#ANAMEWQTYCITY101韶山商店15长沙204前门百货商店89北京256东风商场501北京345铁道商店76长沙620第一百货商店413
14、上海A#B#QTY10111051012421013251014104204361256124125629134511413452183454746204125B#BNAMEPRICE1毛笔212羽毛球7843收音机13254书包242B 找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。SELECT A#,ANAMEFROM A WHERE WQTY50时,R中与相关联的属性B之值。 当属性C=40时,将R中与之相关连的属性B值修改为b4。解: SELECT B FROM R,S WHERE RA=S AND C50; UPDATE RSET B=“b4” WHERE A IN
15、(SELECT AFROM S WHERE C=40)7已知R和S两个关系如图所示。 R SABCa1b1c1a2b2c2a3b3c2CDEc1d1e1c2d2e2c3d3e3执行如下SQL语句: CREATE VIEW H (A,B,C,D,)AS SELECT A,B,RC,D,E FROM R,S WHERE RC=SC; SELECT B,D,E FROM H WHERE C=“C2”试给出: 视图。 对视图的查询结果。解:本题的结果如图所示。视图 对视图的查询结果ABCDEa1b1c1d1e1a2b2c2d2e2a3b3c2d2e2BDEb2d2e2b3d2e28已知关系R如图所示。
16、 RABC97b184a297b292a397b39898b17298b28498b39599b18899b294试用SQL语句实现下列操作: 按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RAE中。 在视图RAE中查询属性A“8”记录。解 CREATE VIEW RAE(A,CMAX,CMIN)AS SELECT A,MAX(C),MIN(C) FROM R GROUP BY A; SELECT * FROM RAE WHERE A=“98”9已知学生表S和学生选课表SC。其关系模式如下:S(SNO,SN,SD,PROV)SC(SNO,CN,GR)其中:SNO为学号,S
17、N为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作: 查询“信息系”的学生来自哪些省区。 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。解: SELECT DISTINCT PROV FROM S WHERE SD=“信息系” SELECT SN,GR FROM S,SCWHERE SD=“英语系”AND CN=“计算机”AND SSNO=SCSNOORDWR BY GR DESC;10设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为
18、成绩),试用SQL语言完成以下各题: 建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序。 从视图V-SSC上查询平均成绩在90分以上的SN、CN和G。解: CREATE VIEW V-SSC(SNO,SN,CNO,CN,G)AS SELECT SSNO,SSN,CNO,SCCN,SCGFROM S,SC WHERE SSNO=SCSNO ORDWR BY CNO SELECT SN,CN,GFROM V-SSC GROGP BY SNO HAVING AVG(G)9011设有关系模式:SB(SN,SNAME,CITY)其中:SB表示供应商,SN为供应商代号,SNAM
19、E为供应商名字,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。如图所示表示供应商
20、(S)零件(P)工程(J)数据库表,写出实现以下各题功能的SQL语句:(1)取出所有工程的全部细节: SELECT * FROM JB TO SCREEN; JN JNAME CITY-J1 JN1 上海J2 JN2 广州J3 JN3 南京J4 JN4 南京J5 JN5 上海J6 JN6 武汉J7 JN7 上海(2)取出所在城市为上海的所有工程的全部细节; SELECT * FROM JB WHERE CETY=“上海”TO SCREEN;JN JNAME CITY-J1 JN1J5 JN5J7 JN7(3)取出重量最轻的零件代号; SELECT PN FROM PBWHERH WEIGHT=
21、 (SELECT MIN(WEIGHT) FROM PB)TO SCREEN;PNP5(4)取出为工程式1提供零件的供应商代号;SELECT SN FROM SPJB WHERE JN=“J1”TO SCREEN;SNS1S2S3(5)取出为工程J提供P的供应商代号;SELECT SN FROM SPJBWHERE JN=“J1”AND PN=“P1” TO SCREEN;SNS1(6)取出由供应商S提供零件的工程名称;SELECT JBJNAME FROM JB,SPJBWHERE JBJN=SPJBJN AND SPJBSN=“S1” TO SCREEN;JNAMEJN1JN4(7)取出供
22、应商S1提供的零件的颜色;SELECT DISTINCT PBCOLOR FROM PB,SPJBWHERE PBPN=SPJBPN AND SPJBSN=“1”TO SCREEN;COLOR红(8)取出为工程J或J提供零件的供应商代号;SELECT DISTINCT SN FROM SPJBWHERE JN=“J1” OR JN=“J2”TO SCREEN;SNS1S2S3S5(9)取出为工程提供红色零件的供应商代号;SELECT DISTINCT SPJBSN FROM SPJB,PBWHERE PBPN=SPJBPN AND SPJBJN=“J1”AND PBCOLOR=“红” TO S
23、CREEN;SNS1(10)取出为所在城市为上海的工程提供零件的供应商代号;SELECT DISTINCT SPJBSN FROM SPJB,JBWHERE SPJBJN=JBJN AND JBCITY=“上海”TO SCREEN;SNS1S2S3S4S5(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;SELECT SPJBSN FROM PB,JB,SPJBWHERE SPJBPN=PBPN AND JBJN=SPJBJN AND PBCOLOR=红AND(JBCITY=“上海”OR JBCITY=“北京”TO SCREEN;SNS1S4(12)取出供应商与工程所在城市相同
24、的供应商提供的零件代号;SELECT DISTINCT SPJBPN FROM SB,JB,SPJBWHERE SBSN=SPJBSN AND JBJN=SPJBJN AND SBCITY=JBCITY TOSCREEN; PN P1 P2 P3 P4 P5 P6(13)取出上海的供应商提供给上海的任一工程的零件的代号;SELECT SPJBPN FROM SB,JB,SPJBWHERE SBSN=SPJBSN AND JBJN=SPJBJN AND SBCITY=“上海” ANDJBCITY=“上海” TO SCREEN; PN P1 P6(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号;SELECT DISTINCT SPJBJN FROM SB,JB,SPJBWHERE SBSN=SPJBSN AND JBJN=SPJBJN AND SB
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1