您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 述职报告 > SQL语句与关系代数习题
1一、选择题1、SQL语言是()语言。——(SQL特点)(易)A)层次数据库B)网络数据库C)关系数据库D)非数据库答案:C2、SQL语言具有两种使用方式,分别称为交互式SQL和()。——(SQL语言使用方式)(易)A)提示式SQLB)多用户SQLC)嵌入式SQLD)解释式SQL答案:C3-4-5()包括数据库模式定义和数据库存储结构与存取方法定义。()实现对DB的操作,包括查询、插入、删除、修改数据库中的数据。()用于数据保护,包括数据的安全性,完整性,并发控制和恢复等。——(数据库语言DDLDMLDCL)(中)A)数据控制子语言B)数据定义子语言C)数据操纵子语言D)数据库语言答案:BCA6-7-8-9-10、下列SQL语句中,实现数据检索的语句是(),修改表结构的是(),修改属性值的是(),删除表结构的是(),删除表记录的是()。——(DROPTABLE,ALTERTABLE,UPDATE,DELETE,SELECT语句)(难)A)SELECTB)DROPC)UPDATED)ALTERE)DELETE答案:ADCBE二、用关系代数表达式及SQL语句描述关系查询1、设有如下关系表R、S和T:——(易)R(BH,XM,XB,DWH)S(DWH,DWM)T(BH,XM,XB,DWH)写出实现下列关系代数的SQL语句:1))('100'RDWH2)XBXMR,)(3)DWHXMXBR,''))((女4)SR5)DWHXBXMXBSR,,''))((男解:1)SELECT*FROMRWHEREDWH=’100’;2)SELECTXM,XBFROMR;3)SELECTXM,DWHFROMRWHEREXB=’女’;4)SELECTR.*,S.DWMFROMR,SWHERER.DWH=S.DWH;5)SELECTXM,XB,DWHFROMR,SWHERER.DWH=S.DWHANDXB=’男’;22、设有如下三个关系:——(易-易-难)A(A#,ANAME,WQTY,CITY):A#:商店代号;ANAME:商店名;WQTY:店员人数B(B#,BNAME,PRICE):B#:商品号;BNAME:商品名称;AB(A#,B#,QTY):QTY:商品数量试用关系代数和SQL语言写出下列查询。1)找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名;2)找出供应书包的商店名;3)找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。解:1)))((#,'100AANAMEA'长ORCITYWQTY沙SELECTA#,ANAMEFROMAWHEREWQTY=100ORCITY=’长沙’;2)ANAMEBNAMEAABB)))(((''书包SELECTANAMEFROMA,B,ABWHEREBNAME=’书包’ANDB.B#=AB.B#ANDAB.A#=A.A#;3)CITYANAMEBAAABAB,#'256'#)))(((SELECTANAME,CITYFROMAWHERENOTEXISTS(SELECT*FROMABAB1WHEREAB1.A#=’256’ANDNOTEXISTS(SELECT*FROMABAB2WHEREAB2.A#=A.A#ANDAB2.B#=AB1.B#));3.设有如下关系模式:student(NO,NAME,SEX,BIRTHDAY,CLASS)teacher(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)PROF为职称,DEPART为系别course(CNO,CNAME,TNO)score(NO,CNO,DEGREE)DEGREE为成绩写出实现以下各题功能的SQL语句:(1)查询至少有2名男生的班号;——(难)(2)查询不姓“王”的同学记录;——(易)(3)查询每个学生的姓名和年龄;——(难)(4)查询学生中最大和最小的birthday日期值;——(中)(5)查询学生表的全部记录并按班号和年龄从大到小的顺序;——(中)(6)查询男教师及其所上的课程;——(中)(7)查询最高分同学的学号,课程号和成绩;——(中)(8)查询和“李军”同性别并同班的所有同学的姓名;——(中)(9)查询选修“数据库系统概论”课程的男同学的成绩表;——(中)(10)查询所有未讲课的教师的姓名和所在系别;——(难)(11)查询“计算机系”教师所教课程的成绩表;——(难)(12)查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录;——(难)3(13)查询最低分大于70,最高分小于90的学生的学号;——(中)(14)查询成绩在60到80之间的所有记录;——(中)(15)查询成绩比该课程平均成绩低的同学的成绩表;——(相关子查询)(难)(16)查询所有女教师和女同学的姓名、性别和生日;——(中)(17)查询“计算机系”和“无线电系”不同职称的教师的姓名和职称;——(中)解:(1)SELECTCLASSFROMstudentWHERESEX=‘男’GROUPBYCLASSHAVINGCOUNT(*)=2;(2)SELECT*FROMstudentWHERENAMENOTLIKE‘王*’;(3)SELECTNAME,year(date())-year(birthday)asageFROMstudent;(4)SELECTMAX(BIRTHDAY),MIN(BIRTHDAY)FROMstudent;(5)SELECT*FROMstudentORDERBYCLASS,BIRTHDAYDESC;(6)SELECTx.name,y.cnameFROMteacherx,courseyWHEREx.no=y.tnoandx.sex=’男’;(7)SELECT*FROMscoreWHEREdegree=(SELECTmax(degree)FROMscore);(8)SELECTnameFROMstudentWHEREsex=(SELECTsexFROMstudentWHEREname=’李军’)andclass=(SELECTclassFROMstudentWHEREname=’李军’);(9)SELECT*FROMscoreWHEREnoIN(SELECTnoFROMstudentWHEREsex=‘男’)andcno=(SELECTcnoFROMcourseWHEREcname=‘数据库系统概论’);(10)SELECTname,departFROMteachertWHERENOTEXIST(SELECT*FROMcoursecWHEREc.tno=t.no);(11)SELECT*FROMscores,teachert,coursecWHEREt.depart=’计算机系’andt.no=c.tnoandc.cno=score.cno;(12)SELECT*FROMstudents,scorescWHEREs.no=sc.noandcno=’3-105’anddegree(SELECTdegreeFROMscWHEREno=’109’andcno=’3-105’);(13)SELECTnoFROMscoreGROUPBYnoHAVINGmin(degree)70andmax(degree)90;(14)SELECT*FROMscoreWHEREdegreeBETWEEN60AND80;(15)SELECT*FROMscoreaWHEREdegree(SELECTavg(degree)FROMscorebWHEREb.cno=a.cnogroupbyb.cno);(16)SELECTname,sex,birthdayFROMteacherWHEREsex=‘女’UNIONSELECTname,sex,birthdayFROMstudentWHEREsex=‘女’;(17)SELECTname,profFROMteacherWHEREdepart=’计算机系’ORdepart=’无线电系’orderbyprof;4、设有图书登记表TS,具有属性:BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。按下列要求用SQL语言进行设计。——(易)1)按图书馆编号BNO建立TS表的索引ITS;2)查询按出版社统计其出版图书总数。3)删除索引。解:1)CREATEINDEXITSONTS(BNO);2)SELECTPUB,COUNT(BNO)FROMTSGROUPBYPUB;3)DROPINDEXITS;45、已知三个关系R、S和T——(中)R(A,B,C)S(A,D,E)T(D,F)试用SQL语句实现如下操作:1)R、S和T三个关系按关联属性建立一个视图R-S-T;2)对视图R-S-T按属性A分组后,求属性C和E的平均值。解:1)CREATEVIEWR-S-T(A,B,C,D,E,F)ASSELECTR.A,B,C,S.D,E,FFROMR,S,TWHERER.A=S.AANDS.D=T.D;2)SELECTAVG(C),AVG(E)FROMR-S-TGOUPYBYA;6、设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:——(易)a)建立一个视图V-SSC(SNO,SN,CNO,CN,G);b)从视图V-SSC上查询平均成绩在90分以上的SN,CN和G。解:1)CREATEVIEWV-SSC(SNO,SN,CNO,CN,G)ASSELECTS.SNO,SN,CNO,CN,GFROMS,SCWHERES.SNO=SC.SNO2)SELECTSN,CN,GFROMV-SSCGROUPBYSNOHAVINGAVG(G)907、设有关系模式:SB(SN,SNAME,CITY)其中SB表示供应商,SN为供应商号,SNAME为供应商名字,CITY为供应商所在城市;PB(PN,PNAME,COLOR,WEIGHT)其中PB表示零件,PN为零件代号,PANME为零件名字,COLOR为零件颜色,WEIGHT为零件重量;JB(JN,JNAME,CITY)其中JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市;SPJB(SN,PN,JN,QTY)其中SPJB表示供应关系,QTY表示提供的零件数量。写出实现以下各题功能的SQL语句:(1)取出所有工程的全部细节;——(易)(2)取出所在城市为上海的所有工程的全部细节;——(易)(3)取出重量最轻的零件代号;——(难)(4)取出为工程J1提供零件的供应商代号;——(易)(5)取出为工程J1提供零件P1的供应商代号;——(易)(6)取出由供应商S1提供零件的工程名称;——(易)(7)取出供应商S1提供的零件的颜色;——(易)(8)取出为工程J1或J2提供零件的供应商代号;——(中)(9)取出为工程J1提供红色零件的供应商代号;——(易)(10)取出为所在城市为上海的工程提供零件的供应商代号;——(易)(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;——(中)(12)取出供应商与工程所在城市相同的供应商提供的零件代号;——(中)5(13)取出上海的供应商提供给上海的任一工程的零件的代号;——(难)(14)取出至少有一个和工程不在同一城市的供应商提供零件的工程代号;——(难)(15)取出上海供应商不提供任何零件的工程的代号;——(难)(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;——(难)(17)取出由供应商S1提供零件的工程的代号;——(易)(18)取出所有这样的一些CITY,CITY〉二元组,使得第一个城市的供应商为第二个城市的工程提供零件;——(难)(19)取出所有这样的三元组CITY,PN,CITY,使得第一个城市的供应商为第二个城市的工程提供指定的零件;——
本文标题:SQL语句与关系代数习题
链接地址:https://www.777doc.com/doc-4372677 .html