收藏 分销(赏)

数据库第三章习题.doc

上传人:丰**** 文档编号:4374805 上传时间:2024-09-14 格式:DOC 页数:12 大小:90KB
下载 相关 举报
数据库第三章习题.doc_第1页
第1页 / 共12页
数据库第三章习题.doc_第2页
第2页 / 共12页
数据库第三章习题.doc_第3页
第3页 / 共12页
数据库第三章习题.doc_第4页
第4页 / 共12页
数据库第三章习题.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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语句中,修改表结构得就是

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

4、)。 A 查询语句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、

5、SELECT 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#=C2 AND

6、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 S、S#=SC、S#B、

7、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# ORDER BY 2 DESC H

8、AVING 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 BY 2 DESC GROUP BY S# HAVING COUNT (*

9、)=419.假定学生关系就是S(S#,SNAME,SEX,AGE),课程关系就是C(C#,CNAME,TEACHER),学生选课关系就是SC(S#,C#,GRADE)。要查找选修“PUTER”课程得:“女”学生姓名,将涉及到关系( )。A、S B、SC, C C、S, SCD 、S,C,SC20.下面得数据库得表中,若职工表得主关键字就是职工号,部门表得主关键字就是部门号,SQL操作( )不能执行。 职工表 部门表职工号职工名部门号工资001李红01580005刘军01670025王芳 03720038张强02650部门号部门名主任01人事处 高平02财务处蒋华 03教务处许红04学生处杜琼A

10、. 从职工表中删除行(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、(NULL,曾华,男,23)D、(1031,NULL ,男,23)22.

11、数据库中建立索引得目得就是为了( )。A 加快建表速度B 加快存取速度C 提高安全性D 节省存储空间23.视图就是数据库系统三级模式中得( )。A 外模式B 模式C 内模式D 模式映像24.下列说法不正确得就是( )。A 基本表与视图一样,都就是关系B 可以使用SQL对基本表与视图进行操作C 可以从基本表或视图上定义视图D 基本表与视图中都存储数据二、综合题1、已知关系R如图所示 RA BC9797979898989999b1b2b3b1b2b3b1b28492987284958894 图 关系R试用SQL语言实现下列操作:(1) 按属性A分组,求出每组中在属性C上得最大值与最小值,且将它们置

12、于视图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 PROVFrom SWhere SD=信息系;(2) 按分数降

13、序排序,输出“英语系”学生选修了“计算机”课程得学生得姓名与分数。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)ASSelect S、SNO, S、SN, SCO, SC, S

14、C、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为零件重量,主关键字为PN;J(JN,JNAME,CITY)其中J表示工程,J

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

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

17、;(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;(7) 取出供应商S1提供得零件得颜色。Select Distin

18、ct 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 DISTINCT SPJ、SNFrom J, SPJWhere J、JN

19、=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、CITY=S、CITY(13) 取出上海得供应商提供给上海得任一工

20、程得零件得代号。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) 取出所有这样得一些二元组,使得第1个城市得供应商为第2个城市得工程提供零件。Select Distinct S、CITY,J、CITYFrom S, J, SPJWhere S、SN=S

21、PJ、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) 查询这样得工程项目号:该工程项目使用P1零件得平均使用量大于工程项目J1使用得任何一种零件得最大数量。SELEC

22、T 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、PN=P1;5.假设有如下4个样本表: student (学生信息表)NONAMESEXBIRTHDAYCLA

23、SS108105107101109103曾华匡明王丽李军王芳陆军男男女男女男09/01/7710/02/7501/23/7602/20/76/02/10/7506/03/74950339503195033950339503195031teacher (教师信息表)NONAMESEXBIRTHDAYPROFDEPART804856825831李成张旭王萍刘冰男男女女12/02/5803/12/6905/05/7208/14/77副教授讲师助教助教计算机系电子工程系计算机系电子工程系 course (课程表) score (成绩表)CNOCNAMETNO3-1053-2456-1669-888计算

24、机导论操作系统数字电路高等数学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 CLASSHAVING COUNT(*)2(2) 显示student表中不姓“王”得同学记录。SELECT *FROM STU

25、DENTWHERE 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 BY CLASS,2017-YEAR(BIRTHDAY)DESC(6) 显示“男”教师及其所上得课程。SELECT

26、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 SEX= (SELECT SEX FROM STUDENT WHERE NAME=李军);(9) 列出与“李军”同

27、性别并同班得同学name。SELECT NAMEFROM STUDENTWHERE SEX = (SELECET SEX FROM STUDENT WHRER NAME=李军)AND CLASS=(SELECT CLASSFROM STUDENTWHERE NAME=李军);(10) 列出所有选修“计算机导论”课程得“男”同学得成绩表。SELECT STUDENT、NO,COUSEO,SCORE、DEGREEFROM STUDENT,COURSE,SCOREWHERE STUDENT、NO=SCORE、NO AND COURSEO=SCOREO AND COURSEAME=计算机导论 AND

28、STUDENT、SEX=男;6、设职工-社团数据库有三个基本表:职工(职工号,姓名,年龄,性别);社会团体(编号,名称,负责人号,活动地点);参加(职工号,编号,参加日期);试用SQL语句完成下列操作: 1)建立下列两个视图。社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别);参加人情况(职工号,姓名,社团编号,社团名称,参加日期)CREATE VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)ASSELECT 编号,名称,负责人, 姓名, 性别FROM 社会团体,职工WHERE 社会团体、负责任号=职工、职工号CREATE VIEW参加人情况(职工号,姓名,

29、社团编号,社团名称,参加日期)ASSELECT 参加、职工号,职工、姓名,社会团体、编号,社会团体、名称,参加。参加日期FROM 职工,社会团体,参加WHERE 职工、职工号=参加、职工号 AND 参加、编号=社会团体、编号;2)查找参加唱歌队或篮球队得职工号与姓名。SELECT 职工号,姓名FROM 职工,社会团体,参加WHERE 职工、职工号=参加、职工号 AND 参加、编号=社会团体、编号 AND 社会团体、名称=唱歌队OR社会团体、名称=篮球队;3)查找没有参加任何团体得职工情况。SELECT *FROM 职工WHERE NOT EXISTS (SELECT *FROM 参加WHERE

30、 参加、职工号=职工、职工号);4)查找参加了全部社会团体得职工情况。SELECT *FROM 职工WHERE NOT EXISTS (SELECT *FROM 参加WHERE NOT EXISTS(SELECT*FROM 社会团体WHERE 参加、职工号=职工、职工号AND 参加、编号=社会团体、编号);5)查找至少参加了职工号为“1001”得职工所参加得全部社会团体得职工号。SELECT 职工号FROM 职工WHERE NOT EXISTS(SELECT *FROM 参加 参加1WHERE 参加1、职工号=1001AND NOT EXISTS(SELECT *FROM 参加、参加2WHERE 参加2、编号=参加1、编号 AND 参加2、职工号=职工、职工号)6)求每个社会团体得参加人数。SELECT COUNT(职工号)FROM 参加GROUP BY 编号7)把对“社会团体”与“参加”两个表得数据查瞧、插入与删除数据得权力赋给用户李平,并允许她将此权力授予其她用户。GRANT SELECT,INSERT,DELECTON 社会团体,参加TO 李平WITH GRANT OPTION;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服