第三章关系数据库标准语言SQL一、单项选择题1.SQL语言是的语言,易学习。A.过程化B.非过程化C.格式化D.导航式2.SQL语言是语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库3.SQL语言具有的功能。A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是。A.SELECTB.INSERTC.UPDATED.DELETE5.SQL语言具有两种使用方式,分别称为交互式SQL和。A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL6.SQL语言中,实现数据检索的语句是。A.SELECTB.INSERTC.UPDATED.DELETE7.下列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为课程名,GRADE为成绩。8.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是。A.SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEFROMSWHERESN=“王华”)B.SELECTSN,AGE,SEXFROMSWHERESN=“王华”C.SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEWHERESN=“王华”)D.SELECTSN,AGE,SEXFROMSWHEREAGE>王华.AGE9.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是。A.SELECTS#FORMSCWHEREC#=“C2”ANDGRAD>=(SELECTGRADEFORMSCWHEREC#=“C2”)B.SELECTS#FORMSCWHEREC#=“C2”ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=“C2”)C.SELECTS#FORMSCWHEREC#=“C2”ANDGRADENOTIN(SELECTGRADEFORMSCWHEREC#=“C2”)D.SELECTS#FORMSCWHEREC#=“C2”ANDGRADE>=ALL(SELECTGRADEFORMSCWHEREC#=“C2”)10.检索学生姓名及其所选修课程的课程号和成绩。正确的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.SC11.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是。A.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)>=4WHEREC#=“C2”ANDGRADE>=(SELECTGRADEFORMSCWHEREC#=“C2”)B.SELECTS#FORMSCWHEREC#=“C2”ANDGRADEIN(SELECTGRADEFORMSCWHEREC#=“C2”)C.SELECTS#FORMSCWHEREC#=“C2”ANDGRADENOTIN(SELECTGRADEFORMSCWHEREC#=“C2”)D.SELECTS#FORMSCWHEREC#=“C2”ANDGRADE>=ALL(SELECTGRADEFORMSCWHEREC#=“C2”)12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。A.SB.SC,CC.S,SCD.S,C,SC13.如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作不能执行。A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)B.将行(‘005,’,‘乔兴’,‘04’,750)插入到职工表中C.将职工号为,‘001’的工资改为700D.将职工号为,’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)二、填空题1.SQL是。2.SQL语言的数据定义功能包括①、②、③和④。3.视图是一个虚表,它是从①中导出的表。在数据库中,只存放视图的②,不存放视图的③。4.设有如下关系表R、S和T:以BH,XM,XB,DWH)S(DWH,DWM)T(BH,XM,XB,DWH)①实现R∪T的SQL语句是。②实现DWH=‘100’(R)的SQL语句是。③实现∏XM,XB(R)的SQL语句是。④实现∏XM,DWH(XB=‘女’(R))的SQL语句是。⑤实现RS的SQL语句是。⑥实现∏XM,XB,DWM(XB=‘男’(RS))的SQL语句是。5.设有如下关系表R:R(No,NAME,SEX,AGE,CLASS)主关键字是NO其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。①插入一个记录(25,“李明”,“男”,21,“95031”);。②插入“95031”班学号为30、姓名为“郑和”的学生记录;。③将学号为10的学生姓名改为“王华”;。④将所有“95101”班号改为“95091”;。⑤删除学号为20的学生记录;。⑥删除姓“王”的学生记录;。三.简述与应用题1.叙述SQL语言支持的三级逻辑结构。2.叙述使用SQL语言实现各种关系运算的方法。3.设有如下所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果:(1).找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。(2).找出供应书包的商店名。(3).找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。4.设有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。按下列要求用SQL语言进行设计:(1).按图书馆编号BNO建立TS表的索引ITS。(2).查询,按出版社统计其出版图书总数。(3).删除索引ITS。5.己知三个关系R(A,B,C)、S(A,D,E)和T(D,F),其中,名称相同的属性为关联属性,C、E为数值型属性。试用SQL语句实现如下操作:(1).将R、S和T三个关系按关联属性建立一个视图R-S-T;(2).对视图R-S-T按属性A分组后,求属性C和E的平均值。6.设有关系R(A,B)和S(A,C),A为相同属性。试用SQL语句实现:(1).查询属性C>50时,R中相关联的属性B之值。(2).当属性C=40时,将R中与之相关连的属性B值修改为b4。7.已知R(A,B,C)和S(C,D,E)两个关系,如下图所示。执行如下SQL语句:(1).CREATEVIEWH(A,BC,C,D,E)ASSELECTA,B,R.C,D,EFROMR,SWHERER.C=S.C;(2).SELECTB,D,EFROMHWHEREC=‘C2’试给出:(1).视图H;(2).对视图H的查询结果。8.已知关系R如图所示。试用SQL语句实现下列操作:(1).按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RVE中。(2).在视图RVE中查询属性A=‘98’的记录。9.已知学生表S和学生选课表SC。其关系模式如下:S(SNo,SN,SD,PROV)SC(SNO,CN,GR)其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作:(1).查询“信息系”的学生来自哪些省区。(2).按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。10.设有学生表S(SNO,SN)(SNO为学号,SN为姓名)和学生选课表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:(1).建立一个视图V-SSC(SN,SN,CN,CN,G),并按CNO升序排序;ABCa1b1c1a2b2c2a3b3c3CDEc1d1e1c2d2e2c3d3e3RSABC97b18497b29297b39898b17298b28498b39599b18899b294(2).从视图V-SSC上查询平均成绩在90分以上的SN、CN和G。11.设有关系模式:SB(SN,SNAME,CITY)其中,S表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。PB(PN,PNAME,COLOR,WEIGHT)其中P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。JB(JN,JNAME,CITY)其中,J表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主关键字为JN。SPJB(SN,PN,JN,QTY)其中,SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为(SN,PN,JN),外部关键字为SN,PN,JN。写出实现以下各题功能的SQL语句:(1).取出所有工程的全部细节;(2).取出所在城市为上海的所有工程的全部细节;(3).取出重量最轻的零件代号;(4).取出为工程J1提供零件的供应商代号;(5).取出为工程J1提供零件P1的供应商代号;(6).取出由供应商S1提供零件的工程名称;(7).取出供应商S1提供的零件的颜色;(8).取出为工程J1或J2提供零件的供应商代号;(9).取出为工程J1提供红色零件的供应商代号;(10).取出为所在城市为上海的工程提供零件的供应商代号;(11).取出为所在城市为上海或北京的工程提供红色零件的供应商代号;(12).取出供应商与工程所在城市相同的供应商提供的零件代号;(13).取出上海的供应商提供给上海的任一工程的零件的代号;(14).取出至少由一个和工程不在同一城市的供应商提供零件的工程代号;(15).取出上海供应商不提供任何零件的工程的代号;(16).取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;(17).取出由供应商S1提供零件的工程的代号;(18).取出所有这样的一些〈CITY,CITY〉二元组,使得第1个城市的供应商为第2个(19).取出所有这样的三元组〈CITY,PNCITY〉,使得第1个城市的供应商为第2个城市的(20).重复(19)