数据库第三章习题_第1页
数据库第三章习题_第2页
数据库第三章习题_第3页
数据库第三章习题_第4页
数据库第三章习题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 SQL语言习题一、单项选择题1.SQL语言是( )的语言,易学习。A过程化B.非过程化C.格式化D.导航式2.SQL语言是( )语言。A.层次数据库B.网络数据库C.关系数据库D.非数据库3.SQL语言具有( )的功能。 A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵4.关于SQL语言,下列说法正确的是( )。A 数据控制功能不是SQL语言的功能之一B SQL采用的是面向记录的操作方式,以记录为单位进行操作C SQL是非过程化的语言,用户无须指定存取路径D SQL作为嵌入式语言语法与独立的语言有较大差

2、别5.对表中数据进行删除的操作是( )。 A.DROPB.ALTERC.UPDATED.DELETE6.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是( )。 A.SELECTB.INSERTC.UPDATED.DELETE7.SQL语言具有两种使用方式,分别称为交互式SQL和( )。 A.提示式SQLB.用户式SQLC.嵌入式SQLD.解释式SQL8.SQL语言中,实现数据检索的语句是( )。 A.SELECTB.INSERTC.UPDATED.DELETE9.下列SQL语句中,修改表结构的是( )。 A.ALTER

3、 B.CREATEC.UPDATED .DELETE10在SQL中,用户可以直接操作的是( )。 A 基本表B 视图C 存储文件D 基本表和视图11在SQL的查询语句中,对应关系代数中“投影”运算的语句是( )。 A WHEREB FROMC SELECTD HAVING12在SELECT语句中,需对分组情况满足的条件进行判断时,应使用( )。 A WHEREB GROUP BYC ORDER BYD HAVING13SQL中,与“NOT IN”等价的操作符是( )。 A =ANYB <>ANYC =ALLD <>ALL14视图建立后,在数据字典中存放的是( )。 A

4、查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义第15到第18题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX性别,AGE为年龄,DETP为系别,C#为课程号,CN为课程名,GRADE为成绩。15.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是( )。A.SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=王华) B.SE

5、LECT SN, AGE, SEX FROM S WHERE SN=王华 C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=王华)D.SELECT SN, AGE, SEX FROM S WHERE AGE>王华.AGE16.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是( )。A.SELECT S# FROM SC WHEREC#=C2 AND GRADE>= (SELECT GRADE FROM SC WHERE C#=C2)B.SELECT S# FROM SC WHERE C

6、#=C2 AND GRADE IN(SELECT GRADE FROM SC WHEREC#=C2) C.SELECT S# FROM SC WHERE C#=C2 AND GRADE NOT IN(SELECT GRADE FROM SC WHERE C#=C2)D.SELECT S# FROM SC WHERE C#=C2 AND GRADE>=ALL (SELECT GRADE FROM SC WHERE C#=C2)17.检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是( )。 A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE

7、S.S#=SC.S#B.SELECT S.SN, SC.C#, SC.GRADE FROM SC WHERE S.S#=SC.GRADE C.SELECT S.SN, SC.C# , SC.GRADE FROM S, SC WHERE S.S#=SC.S#D.SELECT S.SN, SC.C#, SC.GRADE FROM S, SC 18检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT的语句是( )。 A.SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORD

8、ER BY 2 DESC HAVING COUNT (*)>=4 B.SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT (*)>=4 ORDER BY 2 DESCC. SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT (*)>=4 GROUP BY S# ORDER BY 2 DESC D. SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 ORDER

9、 BY 2 DESC GROUP BY S# HAVING COUNT (*)>=419假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的:“女”学生姓名,将涉及到关系( )。A.S B.SC, C C.S, SCD .S,C,SC20下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作( )不能执行。 职工表 部门表职工号职工名部门号工资001李红01580005刘军01670025王芳 03720038张强02650部

10、门号部门名主任01人事处 高平02财务处蒋华 03教务处许红04学生处杜琼A. 从职工表中删除行(025,王芳,03,720) B. 将行(005,乔兴,04,750)插入到职工表中C. 将职工号为001的工资改为700D. 将职工号为038的部门号改为0321若用如下的SQL语句创建一个student表:CREATE TABLE student(NO CHAR(4) NOT NULL, NAME CHAR(10) NOT NULL, SEX CHAR(2), AGE INT),可以插到student表中的是( )。A.(1031,曾华,男,23)B.(1031,曾华,NULL,NULL)C.

11、(NULL,曾华,男,23)D.(1031,NULL ,男,23)22数据库中建立索引的目的是为了( )。A 加快建表速度B 加快存取速度C 提高安全性D 节省存储空间23视图是数据库系统三级模式中的( )。A 外模式B 模式C 内模式D 模式映像24下列说法不正确的是( )。A 基本表和视图一样,都是关系B 可以使用SQL对基本表和视图进行操作C 可以从基本表或视图上定义视图D 基本表和视图中都存储数据二、综合题1.已知关系R如图所示 RA BC9797979898989999b1b2b3b1b2b3b1b28492987284958894 图 关系R试用SQL语言实现下列操作:(1) 按属

12、性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RVE中。Create view RVE(A,CMAX,CMIN)AsSelect max(C),min(C)From RGroup by A;(2) 在视图RVE中查询属性A=98的记录。Select *From RVEWhere A=98;2已知学生表S和学生选课表SC其关系模式如下:S(SNO,SN,SD, PROV);SC(SNO,CN,GR),其中SNO为学号,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作:(1) 查询“信息系”的学生来自哪些省区。Select DISTINCT PRO

13、VFrom SWhere SD=信息系;(2) 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。Select SN,GRFrom S,SCWhere S.SNO=SC.SNO AND SD=英语 AND CN=计算机Group by GR DESC;3设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各操作:(1)创建一个视图V-SSC(SNO,SN,CNO,CN,G)。Create view V-SSC(SNO,SN,CNO,CN,G)ASSel

14、ect S.SNO, S.SN, SC.CNO, SC.CN, SC.GFrom S, SCWhere S.SNO=SC.SNO(2)从视图V-SSC上查询平均成绩在90分以上的SNO和平均分。Select SNO,AVG(G)From V-SSCGroup by SNOHaving AVG(G)4设有关系模式:S(SN,SNAME,CITY)其中,S代表供应商,SN,代表供应商号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN;P(PN,PNAME,COLOR,WEIGHT)其中P代表零件,PN代表零件号,PNAME代表零件名,COLOR为零件颜色,WEGHT为零件重量,主

15、关键字为PN;J(JN,JNAME,CITY)其中J表示工程,JN为工程编号,JNAME为工程名,CITY为工程所在城市,主关键字为JN。如下图所示表示供应商(S)-零件(P)-工程(J)数据库表,写出实现以下各题功能的SQL语句:SPJSNPNJNQTYS1S1S2S2S2S2S2S2S2S2S3S3S4S4S5S5S5S5S5S5S5S5S5S5P1P1P3P3P3P3P3P3P3P3P3P4P6P6P2P2P5P5P6P1P3P4P5P6J1J4J1J2J3J4J5J6J7J2J1J2J3J7J2J4J5J7J2J4J4J4J4J42007004002002005006004008001

16、0020050030030020010050010020010001200800400500SNSNAMECITYS1S2 S3S4S5上海北京北京上海南京 S PPNPNAMECOLORWEIGHT红绿蓝红蓝绿121820131115 J JNJNAMECITYJ1J2J3J4J5J6J7JN1JN2JN3JN4JN5JN6JN7上海广州南京南京上海武汉上海(1) 取出工程的全部细节。Select *From J(2) 取出所在城市为上海的所有工程的全部细节。Select *From JWhere CITY=上海;(3) 取出重量最轻的零件代号。Select PNFrom PWhere WE

17、IGHT=(Select MIN (WEIGHT)From P );(4) 取出为工程J1提供零件的供应商代号。Select SNFrom SPJWhere JN=J1;S(SN,SNAME,CITY)P(PN,PNAME,COLOR,WEIGHT)J(JN,JNAME,CITY)SPJ(SN,PN,JN,QTY)(5) 取出为工程J1提供零件P1的供应商代号。Select SNFrom SPJWhere JN=J1 AND PN=P1;(6) 取出由供应商S1提供零件的工程名称。Select J.JNAMEFrom SPJ, JWhere SPJ.JN=J.JN AND SPJ.SN=S1;

18、(7) 取出供应商S1提供的零件的颜色。Select Distinct P.COLORFrom SPJ, PWhere SPJ.PN=P.PN AND SPJ.SN=S1;(8) 取出为工程J1或J2提供零件的供应商代号。Select Distinct SNFrom SPJWhere JN=J1 OR JN=J2;(9) 取出为工程J1提供红色零件的供应商代号。Select Distinct SPJ.SNFrom SPJ, PWhere SPJ.PN=P.PN AND SPJ.JN=J1 AND P.COLOR=红;(10) 取出为所在城市为上海的工程提供零件的供应商代号。Select DIS

19、TINCT SPJ.SNFrom J, SPJWhere J.JN=SPJ.JN AND J.CITY=上海;(11) 取出为所在城市为上海或北京的工程提供红色零件的供应商代号。Select SPJ.SNFrom P, J, SPJWhere J.JN=SPJ.JNO AND P.PN=SPJ.PN AND P.COLOR=红AND (J.CITY=上海OR J.CITY=北京);(12) 取出供应商与工程所在城市相同的供应商提供的零件代号。Select DISTINCT SPJ.PNFrom S, J, SPJ Where J.JN=SPJ.JN AND S.SN=SPJ.SN AND J.

20、CITY=S.CITY(13) 取出上海的供应商提供给上海的任一工程的零件的代号。Select SPJ.PN From S, J, SPJWhere J.JN=SPJ.JN AND S.SN=SPJ.SN AND J.CITY=上海 AND S.CITY=上海;(14) 取出由供应商S1提供零件的工程的代号。Select Distinct SPJ.JNFrom S,P,SPJWhere S.SN=SPJ.SN AND P.PN=SPJ.PN AND S.SN=S1;(15) 取出所有这样的一些<CITY,CITY>二元组,使得第1个城市的供应商为第2个城市的工程提供零件。Selec

21、t Distinct S.CITY,J.CITYFrom S, J, SPJWhere S.SN=SPJ.SN AND J.JN=SPJ.JN ;(16) 把零件P2的重量增加5,颜色改为黄色。UPDATE PSET WEIGHT=WEIGHT+5, COLOR=黄Where PN=P2;(17) 将没有供货的所有工程项目从J表中删除。Delete From JWhere JN not in( Select *From SPJ);(18) 查询提供全部零件的供应商名。Select SNAME From SWhere SNO IN (SELECT SNOFROM SPJ);(19) 查询这样的工

22、程项目号:该工程项目使用P1零件的平均使用量大于工程项目J1使用的任何一种零件的最大数量。SELECT JNOFROM SPJWHERE SPJ.PNO=P1GROUP BY JNOHAVING AVG (QTY)>ALL(SELECT QTYFROM SPJWHERE SPJ.JNO =J1);(20)定义一个视图,它由所有这样的工程项目(工程项目号与所在城市名称)组成:它们由供应商S1供货且使用零件P1。CREAT VIEW JN,JCITYASSelect J.JN,J.CITYFrom J, SPJWhere J.JN=SPJ.JN AND SPJ.SN=S1 AND SPJ.P

23、N=P1;5假设有如下4个样本表: student (学生信息表)NONAMESEXBIRTHDAYCLASS108105107101109103曾华匡明王丽李军王芳陆军男男女男女男09/01/7710/02/7501/23/7602/20/76/02/10/7506/03/74950339503195033950339503195031 teacher (教师信息表)NONAMESEXBIRTHDAYPROFDEPART804856825831李成张旭王萍刘冰男男女女12/02/5803/12/6905/05/7208/14/77副教授讲师助教助教计算机系电子工程系计算机系电子工程系 cou

24、rse (课程表) score (成绩表)CNOCNAMETNO3-1053-2456-1669-888计算机导论操作系统数字电路高等数学825804856100NOCNODEGREE1031053-2453-2458675Student(NO,NAME,SEX,BIRTHDAY,CLASS)Teacher(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)Course(CNO,CNAME,TNO)Score(NO,CNO,DEGREE)(1) 列出至少有2名男生的班号。Select CLASSFrom studentWhere SEX=男 GROUP BY CLASSHAVI

25、NG COUNT(*)>2(2) 显示student表中不姓“王”的同学记录。SELECT *FROM STUDENTWHERE NAME NOT LIKE王%;(3) 显示student表中每个学生的姓名和年龄。SELECT NAME, 2017-YEAR(birthday)FROM STUDENT;(4) 显示student表中最大和最小的birthday日期值。SELECT NAME,MAX(BIRTHDAY),MIN(BIRTHDAY)FROM STUDENT;(5) 以班号和年龄从大到小的顺序显示student表中的全部记录。SELECT *FROM STUDENTORDER

26、BY CLASS,2017-YEAR(BIRTHDAY)DESC(6) 显示“男”教师及其所上的课程。SELECT TEACHER.NAME,COURSE.NAMEFROM TEACHER,COURSEWHERE TEACHER.NO=COURSE.TNO AND TEACHER.SEX=男;(7) 列出最高分同学的no、cno和degree列。SELECT NO,CNO,DEGREEFROM SCOREWHERE DEGREE=(SELECT MAX(DEGREE)FROM SCORE)(8) 列出和“李军”同性别的所有同学的name。SELECT NAMEFROM STUDENTWHERE

27、 SEX= (SELECT SEX FROM STUDENT WHERE NAME=李军);(9) 列出和“李军”同性别并同班的同学name。SELECT NAMEFROM STUDENTWHERE SEX = (SELECET SEX FROM STUDENT WHRER NAME=李军)AND CLASS=(SELECT CLASSFROM STUDENTWHERE NAME=李军);(10) 列出所有选修“计算机导论”课程的“男”同学的成绩表。SELECT STUDENT.NO,COUSE.CNO,SCORE.DEGREEFROM STUDENT,COURSE,SCOREWHERE STUDENT.NO=SCORE.NO AND COURSE.CNO=SCORE.CNO AND COURSE.CNAME=计算机导论 AND STUDENT.SEX=男;6、设职工-社团数据库有三个基本表:职工(职工号,姓名,年龄,性别);社会团体(编号,名称,负责人号,活动地点);参加(职工号,编号,参加日期);试用SQL语句完成下列操作: 1)建立下列两个视图。社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);参加人情况(职工号,姓名,社团编号,社团名称,参加日期)C

温馨提示

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

评论

0/150

提交评论