关系数据库标准语言sql练习题_第1页
关系数据库标准语言sql练习题_第2页
关系数据库标准语言sql练习题_第3页
关系数据库标准语言sql练习题_第4页
关系数据库标准语言sql练习题_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章关系数据库标准语言SQL一.单项选择题SQL语言是的语言,易学习。过程化B非过程化C.格式化D导航式BSQL语言是语言。层次数据库B.网络数据库C.关系数据库D非数据库SQL语言具有的功能。关系规范化、数据操纵、数据控制数据定义、数据操纵、数据控制数据定义、关系规范化、数据控制C.数据定义、关系规范化、数据操纵SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是A.SELECTB.INSERTC.UPDATED.DELETETOC\o"1-5"\h\z5•在关系代数运算中,五种基本运算为。A.并、差、选择、投影、自然连接B.并、差、交、选择、投影C.并、差、选择、投影、乘积D.并、差、交、选择、乘积6.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为课程名,GPADE为成绩。8•检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是A。SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEFROMSWHERESN=“王华”)SELECTSN,AGE,SEXFROMSWHERESN=“王华”SELECTSN,AGE,SEXFROMSWHEREAGE>(SELECTAGEWHERESN=“王华”)SELECTSN,AGE,SEXFROMSWHEREAGE〉王华.AGE9•检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是__D__。A.SELECTS#FORMSCWHEREC#=“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”)10•检索学生姓名及其所选修课程号和成绩。正确的SELECT语句是C,SELECTS.SN,SC.C#,SC.GRADEFROMSWHERES.S#=SC.S#

B.SELECTS.SN,SC.C#,SC.GRADEFROMSWHERES.S#=SC.GRADEC.SELECTS.SN,SC.C#,SC.GRADEFROMS,SCWHERES.S#=SC.S#D.SELECTS.SN,SC.C#,SC.GRADEFROMS.SC检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是_B_。A.SELECTS#,SUM(GRADE)FROMSCWHEREGRADE>=60GROUPBYS#ORDERBYFROMSCWHEREGRADE>=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)>=4SELECTS#,SUMGRADE)FROMSCWHEREGRADE>=60GROUPBYS#HAVINGCOUNT(*)>=4SELECTS#,SUMGRADE)FROMSCWHEREGRADE>=60GROUPBYS#HAVINGCOUNT(*)>=4ORDERBY2DESCSELECTS#,SUMGRADE)FROMSCWHEREGRADE>=60HAVINGCOUNT(*)>=4GROUPBYS#SELECTS#,SUMGRADE)FROMSCWHEREGRADE>=60HAVINGCOUNT(*)>=4GROUPBYS#ORDERBY2DESCSELECTS#,SUMGRADE)FROMSCWHEREGRADE>=60ORDERBY2DESCGROUPBYS#SELECTS#,SUMGRADE)FROMSCWHEREGRADE>=60ORDERBY2DESCGROUPBYS#HAVINGCOUNT(*)>=4假定学生关系是S(S#,SNAME,SEX,AGE),假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选修课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系__D__D.S,C,SCD.S,C,SCA.SB.SC,CC.S,SC如下面的数据库的表中,若职工表的主关键字是职工号职工表部门表从I将;将I将IB14.若职工表中删除亍职工,‘职工号为'00职工号为'03行('025','乔职工04'资改为78名门号改为王芳'03'7部门入到00口J号’720)职工表中资用如下的SQI语句红建-个、student表:580CREATETABLEstudent(NOC(4)NOTNULL,部门表的主关键字是部门号,SQL操作_____不能执亍部门部门主号名任01人事高NAMEC(8)NOTNULL,SEXC(2),AGEN(2));可以插入到student表中的是。A.(‘1031',‘曾华'男,23)B.(“1031'‘曾华'NULL,NULL)C.(NULL,‘曾华'男,23)D.(‘1031,NULL,男,23)B二、填空题SQL是。结构化查询语言SQL语言的数据定义功能包括、、和。定义数据库定义基本表定义视图定义索引视图是一个虚表,它是从___中导出的表。在数据库中,只存放视图的,不存视图的一个或几个基本表定义视图对应的数据4设有如下关系表R、S和T:R(BH,XM,XB,DWH)S(DWH,DW)T(BH,XM,XB,DWH)实现RUT的语句是实现RUT的语句是实现RUT的语句是实现RUT的语句是实现RUT的语句是实现RUT的语句是SELECT*FROMRUNIONSELECT*FROMTSELECT*FROMRWHEREDWH=‘100'SELECTXM,XBFROMRSELECTX,DWHFROMRWHEREXB=“女”SELECTR.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWMFROMRSWHERER.DWH=S.DWHSELECTR.XM,R.XB,S.DWMFROMR,SWHERER.DWH=S.DWHANDR.XB=“男”5.设有如下关系表R:R(NO,NAME,SEX,AGE,CLASS)主关键字的NO。其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列的SQL语句。插入一个记录(25,“李明”“男”,21,“95031”);插入“95031”班号为30、姓名为“郑和”的学生记录;将学号为10的学生姓名改为“王华”;将所有“95101班号改为“95091”;删除学号为20的学生记录;删除姓“王”的学生记录;INSERTINTORVALUES(25,“李明”,“男”,21,“95031”)INSERTINTOR(NO,NAME,CLASS)VALUES(30,郑和”,“95031”)UPDATERSETNAME=“王华”WHERENO=10UPDATERSETCLASS=“95091”WHERECLASS=95101”DELETEFROMRWHERENO=20DELETEFROMRWHERENAMELIKE“王%”习题31•叙述SQL语言支持的三级逻辑结构。答:SQL语言支持的三级逻辑结构如图1所示.在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在VisualFoxpro中每个表在存储中可用一具存储文件来表示(在ORACLE中,多个表存储在一个文件夹中。一个基本表就是一个关系,它不是由其人表导出的表。基本表是使用CDEATETABLE语句建立的。在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用CDEATEVIEW语句建立的。在内层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA可以对物理存储文件进行操作。2•叙述使用SQL语言实现各种关系运算的方法。答:由VisualFoxpro支持的SQL语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的SQL语句格式是:RUS:SELECT语句(生成R)UNIONSELECT语句(生成S)选择:SELECT*FROM<表>WHERE<指定选择的条件>投影:SELECT〈投影字段列表〉FROM〈表〉选择:SELECT〈连接的字段列表〉FROM〈连接的两个表名〉WHERE〈连接条件〉3.设有如图所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A#(商店代号)、ANAME(商店名)、

WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用SQL语言写出下列查询,并给出执行结果。BA#ABA#ANAMEWQTFRICETY⑴找出店员人101韶山商店1521长秒长沙市的所有商店的代204前毛百货商店89784北原SELECTA#,256东风商场5C11325北原FROMAWHERE345铁道商店76242长秒沙”;620第一百货商店413上海AAB⑵找出供应书WHEREA.A#=AB.A#ANDB.B#=AB.B#ANDB.BNAME=“书包”⑶找出至少供应了代号为“256”的商店所供应的全部商品的商店名和所在城市SELECTANAME,CITYFROMAWHERENOTEXSIST(SELECT*FORMABFWHEREA#=“256”ANDNOTEXSIST(SELECT*FROMABSWHEREA#=A.A#ANDB#=F.B#));A#B#QTY10111051012421013251014104204361256A#B#QTY10111051012421013251014104204361256124125629134511413452183454746204125数不超过100人或者在号和商店名。ANAMEWQTY〈=1000RCITY=“长包的商店名。SELECTPUB,COUNT(BNO)5.已知三个关系R、S和T如图所示。试用SQL语句实现如下操作:⑴将R、S和T三ABC⑵对视图R-S-Ta1b15.已知三个关系R、S和T如图所示。试用SQL语句实现如下操作:⑴将R、S和T三ABC⑵对视图R-S-Ta1b120解a1b222⑴CREATEVIEWa2b118ASSELECTR.A,a2b3a2R个关按属R-S-TB,C,FROMR,S,T⑵SELECTAVG(C),AVG(E)FROMR-S-TWHEREGROUPADEa1d115a2d218a1d224S匚rfzd3__tfOT系按关联属性建立一个视图R-S-T。性A分组后,求属性C和E的平均值。S.D,E,FR.A=S.ABYA;ANDS.D=T.D;SETB=“b4”WHEREAIN(SELECTAFROMSWHEREC=40)6•有关系R和S如图所示。SETB=“b4”WHEREAIN(SELECTAFROMSWHEREC=40)RS试用SQL语句实匚-现:⑴查询属性C>50a1b1时,Ra140中与相关联的属性B之值。⑵当属性C=40a2B2时,a250将R中与之相关连的属性B值修改为b4。解:a3b31a3551⑴SELECTBFROMR,SWHERER.A二S.AANDC>50;⑵UPDATER7•已知R和S两个关系如图所示。⑴CREATEVIEWASSELECTA,B⑵SELECTB,D,执行如下SQL语试给出:ABCa1b1c1⑴CREATEVIEWASSELECTA,B⑵SELECTB,D,执行如下SQL语试给出:ABCa1b1c1a2b2c2a3b3c2R句:HR.ECDEc1d1e1c2d2e2c3d3e3SA,B,C,C,D,EFROMD,E)FROMR,SWHERER.C=S.C;HWHEREC=“C2”⑴视图H。⑵对视图H的查询结果。解:本题的结果如图所示。

视图H8.已知关系R如图R对视图H的查询结果alblcldiel试用SQL语句实现⑴按属性A分组,们置于视图RAE中。⑵在视图RAE中解⑴CREATEVIEWASSELECTA,⑵SELECT*9.已知学生表SS(SNO,SN,SD,SC(SNO,CN,GR)A2bBcC视图H8.已知关系R如图R对视图H的查询结果alblcldiel试用SQL语句实现⑴按属性A分组,们置于视图RAE中。⑵在视图RAE中解⑴CREATEVIEWASSELECTA,⑵SELECT*9.已知学生表SS(SNO,SN,SD,SC(SNO,CN,GR)A2bBcCd2e2BDEb2d2e2b3d2e2所示。下列操作:求出每组中在属性C上的最大值和最小值,且将它97bblc84d2e2a297a3979898989999b292b398查询属性A=“8”记录。bl72b2b3blb284958894RAE(A,CMAX,CMIN)MAX(C),MIN(C)FROMRGROUPBYA;FROMRAEWHEREA=“98”和学生选课表SC。其关系模式如下:PROV)其中:SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作:⑴查询“信息系”的学生来自哪些省区。⑵按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。解:⑴SELECTDISTINCTPROVFROMSWHERESD=“信息系”⑵SELECTSN,GRFROMS,SCWHERESD=“英语系”ANDCN=“计算机”ANDS.SNO=SC.SNOORDWRBYGRDESC;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.GFROMS,SCWHERES.SNO=SC.SNOORDWRBYCNO⑵SELECTSN,CN,GFROMV-SSCGROGPBYSNOHAVINGAVG(G)>90ll.设有关系模式: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;JNJNAMECITYJlJNl上海J2JN2广州J3JN3南京J4JN4南京J5JN5上海J6JN6武汉J7JN7上海(2)取出所在城市为上海的所有工程的全部细节;SELECT*FROMJBWHERECETY二“上海”TOSCREEN;JNJNAMECITYJ1JN1J5JN5J7JN7取出重量最轻的零件代号;SELECTPNFROMPBWHERHWEIGHT=(SELECTMIN(WEIGHT)FROMPB)TOSCREENPNP5取出为工程式JI提供零件的供应商代号;SELECTSNFROMSPJBWHEREJN=“J1”TOSCREENSN515253取出为工程J1提供P1的供应商代号;SELECTSNFROMSPJBWHEREJN=“J1”ANDPN=“P1”TOSCREENSNS1取出由供应商S1提供零件的工程名称;SELECTJB.JNAMEFROMJB,SPJBWHEREJB.JN=SPJB.JNANDSPJB.SN=“S1”TOSCREENJNAMEJN1JN4取出供应商S1提供的零件的颜色;SELECTDISTINCTPB.COLORFROMPB,SPJBWHEREPB.PN=SPJB.PNANDSPJB.SN=“1”TOSCREEN;COLOR(8)取出为工程J1或J2提供零件的供应商代号;SELECTDISTINCTSNFROMSPJBWHEREJN=“J1”ORJN=“J2”TOSCREEN;SNS1S2S3S5(9)取出为工程J1提供红色零件的供应商代号;SELECTDISTINCTSPJB.SNFROMSPJB,PBWHEREPB.PN=SPJB.PNANDSPJB.JN=“JI”ANDPB.COLOR二“红”TOSCREEN;SNS1(10)取出为所在城市为上海的工程提供零件的供应商代号;SELECTDISTINCTSPJB.SNFROMSPJB,JBWHERESPJB.JN二JB.JNANDJB.CITY二“上海”TOSCREEN;SN5152535455(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;SELECTSPJB.SNFROMPB,JB,SPJBWHERESPJB.PN二PB.PNANDJB.JN二SPJB.JNANDPB.COLOR二‘红'AND(JB.CITY=“上海”ORJB.CITY=“北京”TOSCREEN;SNS1S4(12)取出供应商与工程所在城市相同的供应商提供的零件代号;SELECTDISTINCTSPJB.PNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=JB.CITYTOSCREEN;PNP1P2P3P4P5P6(13)取出上海的供应商提供给上海的任一工程的零件的代号;SELECTSPJB.PNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=“上海”ANDJB.CITY=“上海”TOSCREEN;PNP1P6(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号;SELECTDISTINCTSPJB.JNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY<>JB.CITYTOSCREEN;JNJ1J2J3J4J5J6J7(15)取出上海供应商不提供任何零件的工程的代号SELECTDISTINCTJNFROMSPJBWHEREJNNOTIN(SELECTDISTINCTSPJB.JNFROMSB,SPJBWHERESB.SN=SPJB.SNANDSB.CITY=“上海”)TOSCREEN;JNJ2J5J6(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件SELECTDISTINCTSPJB.SNFROMPB,SPJBWHERESPJB.PNIN(SELECTSPJB.PNFROMSPJB,SB,PBWHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDPB.COLOR=“红”TOSCREEN;SNS1S2S3S4S5(17)取出由供应商S1提供零件的工程的代号:SELECTDISTINCTSPJB.JNFROMSB,PB,SPJBWHIERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDSB.SN=“S1”TOSCREENJNJ1J4取出所有这样的一些〈CITY,CITY〉二元组,使得第1个城市的供应商为第2个城市的工程提供零件;SELECTDISTINCTSB.CITY,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNTOSCREEN;CITY_ACITY_B北京广州北京南京北京上海北京武汉南京广州南京南京南京上海上海南京上海上海取出所有这样的三元组〈CITY,PN,CITY>,使得第1个城市的供应商为第2个城市的工程提供指定的零件;SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJBWHERESB.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上海重复(19)题,但不检索两个CITY值相同的三元组。SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY<>JB.CITYTOSCREEN;CITY_APNCITY_B北京P3广州北京P3南京北京P3上海北京P3武汉北京P4广州北京P5广州南京P2广州南京P5上海南京P6广州上海P1南京上海P6南京12•有样本表student、teacher、course和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。scoreStudentscoreNONAMESEXBIRTHDAYCLASSNOCNODEGREE108曾华男09/01/77950331033-24586105匡明男10/02/75950311053-24575107王丽女01/23/76950331093-24568101李军男02/20/76950331033-10592109王芳女02/10/75950311053-10588103陆军男06/03/74950311093-105761013-105641013-105911013-105781016-166851016-166791016-16681teachercourseNONAMESEXBRITHDAYPROFDEPARTCNOCNAMETNO804李诚男12/02/58副教授计算机3-103计算机导论825856张旭男03/12/69讲师电子3-245操作系统825825王萍女05/05/72助教计算机6-166数字电路825831刘冰女08/14/77助教电子9-888高等数学825⑴上列出至少有2名男生的班号。WHEREsex二WHEREsex二“男”GROUPBYclassHAVINGCOUNT(*)>=2TOSCREEN;

CLASS9503195033⑵屏幕显示student表中不姓“王”的同学记录。SELECT*FROMstudenWHEREnamenotlike“王%”TOSCREENNONAMESEXBIRTHDAYCLASS108曾华男09/01/7695033105匡明男10/02/7595031101李军男02/20/7695033103陆君男06/03/7495031⑶屏幕显示student表示每个学生的姓名和年龄。SELECTnameas“姓名”year(d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论