关系数据库标准语言SQL练习题.doc

上传人:可****阿 文档编号:48827228 上传时间:2022-10-07 格式:DOC 页数:15 大小:110.50KB
返回 下载 相关 举报
关系数据库标准语言SQL练习题.doc_第1页
第1页 / 共15页
关系数据库标准语言SQL练习题.doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《关系数据库标准语言SQL练习题.doc》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL练习题.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、.1/15第 3 章 关系数据库标准语言 SQL一单项选择题SQL 语言是的语言,易学习。A过程化B 非过程化C格式化D 导航式B2SQL 语言是语言。A层次数据库B网络数据库C关系数据库D 非数据库3SQL 语言具有的功能。A关系规化、数据操纵、数据控制B数据定义、数据操纵、数据控制C数据定义、关系规化、数据控制C数据定义、关系规化、数据操纵4SQL 语言的数据操纵语句包括 SELECT,INSERT,UPDATE 和 DELETE 等。其中最重要的,也是使用最频繁的语句是。ASELECTBINSERTCUPDATEDDELETE5在关系代数运算中,五种基本运算为。A并、差、选择、投影、自然

2、连接B并、差、交、选择、投影C并、差、选择、投影、乘积D并、差、交、选择、乘积6 SQL 语言中,实现数据检索的语句是。ASELECTBINSERTCUPDATEDDELETE7以下 SQL 语句中,修改表结构的是。AALTERBCREATECUPDATEDINSERT第 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。ASELECTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEFROMSWHERESN=“王华”)BSELECTSN,AGE,SEXFROMSWHERESN=“王华”CSELECTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEWHERE SN=“王华”)DSELECTSN,AGE,SEXFROMSWHEREAGE王华AGE9检索选修课程“C2”的学生中成绩最高的学生的学号。正确的 SELECT 语句是D。ASELECTS#FORMSCWHERE C#=“C2”AND GRADE=(SELE

4、CTGRADEFORM SCWHERE C#=“C2”)BSELECTS#FORMSCWHERE C#=“C2”AND GRADE IN(SELECTGRADE FORM SCWHERE C#=“C2”)CSELECTS#FORMSCWHERE C#=“C2”AND GRADE NOT IN(SELECTGRADEFORM SCWHEREC#=“C2”)DSELECTS#FORMSCWHERE C#=“C2”AND GRADE=ALL(SELECTGRADEFORM SCWHEREC#=“C2”)10检索学生与其所选修课程号和成绩。正确的 SELECT 语句是C。SELECTSSN,SCC#,

5、SCGRADE.2/15FROMSWHERESS#=SCS#BSELECTSSN,SCC#,SCGRADEFROMSWHERESS#=SCGRADECSELECTSSN,SCC#,SCGRADEFROMS,SCWHERESS#=SCS#DSELECTSSN,SCC#,SCGRADEFROMSSC11检索选修四门以上课程的学生总成绩(不统计不与格的课程),并要求按总成绩的降序排列出来。正确的 SELECT 语句是B。ASELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60GROUPBYS#ORDER BY 2 DESCHAVINGCOUNT(*)=4SELECTS#,SUM

6、(GRADE)FROMSCWHEREGRADE=60GROUPBYS#HAVING COUNT(*)=4ORDER BY 2 DESCSELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60HAVING COUNT(*)=4GROUPBYS#ORDER BY 2 DESCSELECTS#,SUM(GRADE)FROMSCWHEREGRADE=60ORDER BY 2 DESCGROUPBYS#HAVING COUNT(*)=412假定学生关系是 S(S#,SNAME,SEX,AGE),课程关系是 C(C#,CNAME,TEACHER),学生选修课关系是 SC(S#,C#,G

7、RADE)。要查找选修“COMPUTER”课程的“女”学生,将涉与到关系D。ASBSC,CCS,SCDS,C,SC13如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL 操作不能执行。职工表部门表A从职工表中删除行(025,王芳,03,720)B将行(005,乔兴,04,750)插入到职工表中C将职工号为001工资改为 700D将职工号为038部门号改为03B14若用如下的 SQL 语句创建一个 student 表:CREATE TABLE student(NOC(4)NOT NULL,NAMEC(8)NOT NULL,SEXC(2),AGEN(2);可以插入到

8、 student 表中的是。A(1031,曾华,男,23)B(1031,曾华,NULL,NULL)C(NULL,曾华,男,23)D(1031,NULL,男,23)职工号职工名部门号工资001李红01580005刘军0l670025王芳03720038张强02650部门号部门名主任0l人事处高平02财务处蒋华03教务处许红04学生处杜琼.3/15B二、填空题1SQL 是。结构化查询语言2SQL 语言的数据定义功能包括、和。定义数据库定义基本表定义视图定义索引3视图是一个虚表,它是从中导出的表。在数据库中,只存放视图的,不存视图的。一个或几个基本表定义视图对应的数据4设有如下关系表 R、S 和:R

9、(BH,XM,XB,DWH)S(DWH,DW)T(BH,XM,XB,DWH)实现 RT 的语句是。实现 RT 的语句是。实现 RT 的语句是。实现 RT 的语句是。实现 RT 的语句是。实现 RT 的语句是。SELECT*FROMRUNIONSELECT*FROMTSELECT*FROMRWHEREDWH=100SELECTXM,XBFROMRSELECTX,DWHFROMRWHEREXB=“女”SELECTRBH,RXM,RXB,RDWH,SDWH,SDWMFROMR,SWHERERDWH=SDWHSELECTRXM,RXB,SDWMFROMR,SWHERERDWH=SDWHANDRXB=“

10、男”5设有如下关系表 R:R(NO,NAME,SEX,AGE,CLASS)主关键字的 NO。其中 NO 为学号,NAME 为,SEX 为性别,AGE 为年龄,CLASS 为班号。写出实现以下的 SQL 语句。插入一个记录(25,“明”“男”,21,“95031”);插入“95031”班号为 30、为“和”的学生记录;将学号为 10 的学生改为“王华”;将所有“95101 班号改为“95091”;删除学号为的学生记录;删除姓“王”的学生记录;INSERTINTORVALUES(25,“明”,“男”,21,“95031”)INSERTINTOR(NO,NAME,CLASS)VALUES(30,“和

11、”,“95031”)UPDATERSETNAME=“王华”WHERENO=10UPDATERSETCLASS=“95091”WHERECLASS=“95101”DELETEFROMRWHERENO=20DELETEFROMRWHERENAMELIKE“王%”习题 31表达 S语言支持的三级逻辑结构。.4/15答:S语言支持的三级逻辑结构如图 1 所示在概念层,对应概念模式的概念记录型的基本表。基本表是这样的一种表,它本身实际存在,在isual Foxpro 中每个表在存储中可用一具存储文件来表示(在 ORACLE 中,多个表存储在一个文件夹中。一个基本表就是一个关系,它不是由其人表导出的表。基

12、本表是使用 CDEATE TABLE语句建立的。在外层,用户所看到的可以是基本表,也可以是视图。视图是一个虚拟表,它是由一个或几个基本表导出的表,它不直接存在于物理存储器上的表。视图是使用 CDEATE VIEW 语句建立的。在层,基本表(或库)用一个存储文件来表示,即用一组类型相同的存储记录值来表示。DBA 可以对物理存储文件进行操作。2表达使用 SQL 语言实现各种关系运算的方法。答:由 Visual Foxpro 支持的 SQL 语言没有提供关系的笛卡尔积、交和差运算。其全关系运算对应的 SQL 语句格式是:RS:SELECT 语句(生成 R)UNIONSELECT 语句(生成 S)选择

13、:SELECT*FROM WHERE 投影:SELECT FROM选择:SELECT FROM WHERE3设有如下图的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。其中各个属性的含义如下:A(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。试用 SQL 语言写出以下查询,并给出执行结果。AABB 找出店员人数不超过 100 人或者在市的所有商店的代号和商店名。SELECTA#,ANAMEFROMAWHEREWQTY50 时,R 中与相关联的属性 B 之值。当属性 C=4

14、0 时,将 R 中与之相关连的属性 B 值修改为 b4。解:SELECTBFROMR,SWHERERA=S AND C50;UPDATERSETB=“b4”WHEREAIN(SELECTAFROMSWHEREC=40)7已知 R 和 S 两个关系如下图。RS执行如下 SQL 语句:CREATEVIEWH(A,B,C,D,)AS SELECTA,B,RC,D,EFROMR,SWHERERC=SC;SELECTB,D,EFROMHWHEREC=“C2”ABCa1b120a1b222a2b118a2b3a2ADEa1d115a2d218a1d224DFd2f2d3f3ABa1b1a2B2a3b3AB

15、a140a250a355ABCa1b1c1a2b2c2a3b3c2CDEc1d1e1c2d2e2c3d3e3.6/15试给出:视图。对视图的查询结果。解:此题的结果如下图。视图对视图的查询结果8已知关系 R 如下图。R试用 SQL 语句实现以下操作:按属性 A 分组,求出每组中在属性 C 上的最大值和最小值,且将它们置于视图 RAE 中。在视图 RAE 中查询属性 A“8”记录。解 CREATEVIEWRAE(A,CMAX,CMIN)ASSELECTA,MAX(C),MIN(C)FROMRGROUPBY A;SELECT*FROMRAEWHEREA=“98”9已知学生表 S 和学生选课表 SC

16、。其关系模式如下:S(SNO,SN,SD,PROV)SC(SNO,CN,GR)其中:SNO 为学号,SN 为,SD 为系名,PROV 为省区,CN 为课程名,GR 为分数。试用 SQL 语言实现以下操作:查询“信息系”的学生来自哪些省区。按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的和分数。解:SELECTDISTINCTPROVFROMSWHERESD=“信息系”SELECTSN,GRFROMS,SCWHERESD=“英语系”AND CN=“计算机”AND SSNO=SCSNOORDWRBYGRDESC;10设有学生表 S(SNO,SN)(SNO 为学生号,SN 为)和学生选

17、修课程表 SC(SNO,CNO,CN,G)(CNO 为课程号,CN 为课程名,G 为成绩),试用 SQL 语言完成以下各题:建立一个视图 V-SSC(SNO,SN,CNO,CN,G),并按 CNO 升序排序。从视图 V-SSC 上查询平均成绩在 90 分以上的 SN、CN 和 G。ABCDEa1b1c1d1e1a2b2c2d2e2a3b3c2d2e2BDEb2d2e2b3d2e2ABC97b184a297b292a397b39898b17298b28498b39599b18899b294.7/15解:CREATEVIEWV-SSC(SNO,SN,CNO,CN,G)ASSELECTSSNO,SS

18、N,CNO,SCCN,SCGFROMS,SCWHERESSNO=SCSNOORDWRBYCNO SELECTSN,CN,GFROMV-SSCGROGPBYSNOHAVINGAVG(G)9011设有关系模式:SB(SN,SNAME,CITY)其中:SB 表示供应商,SN 为供应商代号,SNAME 为供应商名字,CITY 为供应商所在城市,主关键字为 SN。PB(PN,PNAME,COLOR,WEIGHT)其中:P 表示零件,PN 为零件代号,PNAME 为零件名字,COLOR 为零件颜色,WEIGHT 为零件重量,主关键字为 PN。(JN,JNAME,CITY)其中:JB 表示工程,JN 为工程

19、编号,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*FROMTO SCREEN;JNJNAMECITY-J1JN1J2JN2J3JN3J4JN4J5JN5J6JN6J7JN7(2)取出所在城市为的所有工程的

20、全部细节;SELECT*FROMWHERECETY=“”TO SCREEN;JNJNAMECITY-J1JN1J5JN5J7JN7(3)取出重量最轻的零件代号;SELECTPNFROMPBWHERHWEIGHT=(SELECTMIN(WEIGHT)FROMPB)TO SCREEN;PNP5.8/15(4)取出为工程式1 提供零件的供应商代号;SELECTSNFROMSPJBWHEREJN=“J1”TO SCREEN;SNS1S2S3(5)取出为工程 J提供 P的供应商代号;SELECTSNFROMSPJBWHEREJN=“J1”ANDPN=“P1”TO SCREEN;SNS1(6)取出由供应商

21、 S提供零件的工程名称;SELECT JNAMEFROM,SPJBWHEREJN=SPJBJNANDSPJBSN=“S1”TO SCREEN;JNAMEJN1JN4(7)取出供应商 S1 提供的零件的颜色;SELECTDISTINCTPBCOLORFROMPB,SPJBWHEREPBPN=SPJBPNANDSPJBSN=“1”TOSCREEN;COLOR红(8)取出为工程 J或 J提供零件的供应商代号;SELECTDISTINCTSNFROMSPJBWHEREJN=“J1”ORJN=“J2”TOSCREEN;SNS1S2S3S5(9)取出为工程提供红色零件的供应商代号;.9/15SELECTD

22、ISTINCTSPJBSNFROMSPJB,PBWHERE PBPN=SPJBPN AND SPJBJN=“J1”AND PBCOLOR=“红”TO SCREEN;SNS1(10)取出为所在城市为的工程提供零件的供应商代号;SELECTDISTINCTSPJBSNFROMSPJB,WHERESPJBJN=JN AND CITY=“”TOSCREEN;SNS1S2S3S4S5(11)取出为所在城市为或的工程提供红色零件的供应商代号;SELECTSPJBSNFROMPB,SPJBWHERESPJBPN=PBPN AND JN=SPJBJN AND PBCOLOR=红AND(CITY=“”OR CI

23、TY=“”TOSCREEN;SNS1S4(12)取出供应商与工程所在城市相同的供应商提供的零件代号;SELECTDISTINCTSPJBPNFROMSB,SPJBWHERESBSN=SPJBSN AND JN=SPJBJN AND SBCITY=CITYTOSCREEN;PNP1P2P3P4P5P6(13)取出的供应商提供给的任一工程的零件的代号;SELECTSPJBPNFROMSB,SPJBWHERESBSN=SPJBSN AND JN=SPJBJN AND SBCITY=“”AND.10/15CITY=“”TOSCREEN;PNP1P6(14)取出至少由一个和工程式不在同一城市的供应商提供

24、零件的工程代号;SELECTDISTINCTSPJBJNFROMSB,SPJBWHERESBSN=SPJBSN AND JN=SPJBJN AND SBCITYCITYTO SCREEN;JNJ1J2J3J4J5J6J7(15)取出供应商不提供任何零件的工程的代号SELECTDISTINCTJNFROMSPJBWHEREJNNOTIN(SELECTDISTINCTSPJBJNFROMSB,SPJBWHERESBSN=SPJBSN AND SBCITY=“”)TOSCREEN;JNJ2J5J6(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;SELECTDISTI

25、NCTSPJBSNFROMPB,SPJBWHERESPJBPNIN(SELECTSPJBPNFROMSPJB,SB,PBWHERESBSN=SPJBSN AND PBPN=SPJBPN AND PBCOLOR=“红”TOSCREEN;SNS1S2S3S4S5.11/15(17)取出由供应商 S1 提供零件的工程的代号:SELECTDISTINCTSPJBJNFROMSB,PB,SPJBWHIERESBSN=SPJBSN AND PBPN=SPJBPN AND SBSN=“S1”TO SCREEN;JNJ1J4(18)取出所有这样的一些二元组,使得第 1 个城市的供应商为第 2 个城市的工程提供

26、零件;SELECTDISTINCTSBCITY,CITYFROMSB,SPJBWHERESBSN=SPJBSN AND JN=SPJBJNTO SCREEN;CITY_ACITY_B-(19)取出所有这样的三元组,使得第 1 个城市的供应商为第 2 个城市的工程提供指定的零件;SELECTDISTINCTSBCITY,SPJBPN,CITYFROMSB,SPJBWHERESBSN=SPJBSN AND JN=SPJBJNTO SCREEN;CITY_APNCITY_B-P3P3P3P3P4P5P1P2P2P3P4P5P5P6.12/15P6P1P1P6P6-(20)重复(19)题,但不检索两个

27、 CITY 值相同的三元组。SELECTDISTINCTSBCITY,SPJBPN,CITYFROMSB,SPJBWHERESBSN=SPJBSN AND JN=SPJBJN AND SBCITYCITYTOSCREEN;CITY_APNCITY_B-P3P3P3P3P4P5P2P5P6P1P6-12有样本表 student、teacher、course 和 score(如图),写出实现以下各题功能的 SQL 语句,并给出执行结果。Studentscore-NONAMESEXBIRTHDAYCLASSNOCNODEGREE108曾华男09/01/77950331033-24586105匡明男1

28、0/02/75950311053-24575107王丽女01/23/76950331093-24568101军男02/20/76950331033-10592109王芳女02/10/75950311053-10588103陆军男06/03/74950311093-105761013-105641013-105911013-105781016-166851016-166791016-16681teachercourse-NONAMESEXBRITHDAYPROFDEPARTCNOCNAMETNO804诚男12/02/58副教授计算机3-103 计算机导论 825.13/15856旭男03/12/

29、69讲师电子3-245 操作系统825825王萍女05/05/72助教计算机6-166 数字电路825831冰女08/14/77助教电子9-888 高等数学825 上列出至少有 2 名男生的班号。SELECTclassFROMstudentWHEREsex=“男”GROUPBY classHAVING COUNT(*)=2 TO SCREEN;CLASS-9503195033-屏幕显示 student 表中不姓“王”的同学记录。SELECT*FROMstudenWHEREnamenot like“王%”TO SCREEN;NONAMESEXBIRTHDAYCLASS-108曾华男09/01/7

30、695033105匡明男10/02/7595031101军男02/20/7695033103陆君男06/03/7495031-屏幕显示 student 表示每个学生的和年龄。SELECTname as“”,year(date()-year(birthday)as“年龄”FROMstudent TO SCREEN;年龄-曾华23匡明24王丽23军23王芳24陆君25-屏幕显示 student 表中最大和最小的 birthday 日期值。SELECTname,max(birthday),min(birthday)FROMstudentTO SCREEN;NAMEMAX_BIRTHDAYMIN_BI

31、RTHDAY-陆君770901740603-以班号和年龄从大到小的顺序在屏幕上显示 student 表中的全部记录。SELECTclass,name,birthdayFROMstudentDRDERBY class,birthday TO SCREEN;.14/15CLASSNAMEBIRTHDAY-95031陆君74060395031王芳75021095031匡明75100295033王丽76012395033军76022095033曾华770901-屏幕显示“男”教师与其所上的课程。SELECTxname,ycnameFROMteacher x,course yWHERExno=ytno

32、AND xsex=“男”TO SCREEN;NAMECNAME-诚操作系统旭数字电路-在屏幕上列出最高分同学的 no、cno 和 degree 列。SELECTno,cno,degreeFROMscoreWHEREdegree=(SELECTmax(degree)FROMscore)TO SCREEN;NOCNODEGREE-1033_10592-在屏幕上列出和“军”同性别的所有同学的 name。SELECTnameFROMstudentWHEREsex=(SELECT sex FROM student WHERE name=“军”)TO SCREEN;NAME-曾华匡明军陆君-在屏幕上列出和

33、“军”同性别并同班的同学 name。SELECTnameFROMstudentWHERE sex=(SELECT sex FROM student WHERE name=“军”)AND class=(SELECT class FROM student WHERE name=“军”)TO SCREEN;NAME-曾华军.15/15-在屏幕上列出所有选修“计算机导论”课程的“男”同学的成绩表。SELECTno,cno,degreeFROMscoreWHEREno IN(SELECT no FROM student WHERE sex=男)ANDo=(SELECTo FROM course WHEREame=“计算机导论”)TO SCREEN;NOCNODEGREE-1033_105921053_105881013_105641083_10578

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁