收藏 分销(赏)

数据库第三章习题及答案.doc

上传人:xrp****65 文档编号:9434010 上传时间:2025-03-26 格式:DOC 页数:4 大小:60.50KB
下载 相关 举报
数据库第三章习题及答案.doc_第1页
第1页 / 共4页
数据库第三章习题及答案.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述
第3章 关系数据库标准语言SQL 一、选择题 1、SQL语言是 的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 答案:B 2、SQL语言是 语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 答案:C 3、SQL语言具有 的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 答案:B 4、SQL语言具有两种使用方式,分别称为交互式SQL和 。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C 5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。 要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。 A.S B.SC,C C.S,SC D.S,C,SC 答案:D 6、若用如下的SQL语句创建一个student表: CREATE TABLE student(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2)) 可以插入到student表中的是 。 A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B 7、当两个子查询的结果 时,可以执行并,交,差操作. A.结构完全不一致 B.结构完全一致 C.结构部分一致 D.主键一致 答案:B 第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。 8、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是 。 A.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=‘王华’) B.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>王华.AGE 答案:A 9、检索选修课程‘C2’的学生中成绩最高的学生的学号。正确的SELECT语句是 。 A. SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE>= (SELECT GRADE FORM SC WHERE C#=‘C2’) B.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE IN (SELECT GRADE FORM SC WHERE C#=‘C2’) C.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE NOT IN (SELECT GRADE FORM SC WHERE C#=‘C2’) D.SELECT S# FORM SC WHERE C#=‘C2’ AND GRADE>=ALL (SELECT GRADE FORM SC WHERE C#=‘C2’) 答案:D 10、检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是 。 A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE 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 答案:C 11、关系代数中的л运算符对应SELECT语句中的( )子句. A.SELECT B.FROM C.WHERE D.GROUP BY 答案:A 12、关系代数中的σ运算符对应SELECT语句中的( )子句. A.SELECT B.FROM C.WHERE D.GROUP BY 答案:C 13、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( ). A. * B. % C. - D. ? 答案:B 14、WHERE子句的条件表达式中,可以匹配单个字符的通配符是( ). A. * B. % C. - D. ? 答案:C 15、SELECT语句中与HAVING子句同时使用的是( )子句. A.ORDER BY B.WHERE C.GROUP BY D.无需配合 答案:C 16、与WHERE G BETWEEN 60 AND 100语句等价的子句是( ). 答案:D A. WHERE G>60 AND G<100 B. WHERE G>=60 AND G<100 C. WHERE G>60 AND G<=100 D. WHERE G>=60 AND G<=100 17、SELECT语句执行的结果是( ). 答案:C A.数据项 B.元组 C.表 D.视图 18、下列SQL语句中,修改表结构的是____。答案:A A.ALTER B.CREATE C.UPDATE D.INSERT 二、填空题 1、SQL是 结构化查询语言 。 答案:结构化查询语言 2、视图是一个虚表,它是从 ① 中导出的表。在数据库中,只存放视图的 ② ,不存放视图的 ③ 。 答案:①一个或几个基本表 ②定义 ③视图对应的数据 3、设有如下关系表R: R(No,NAME,SEX,AGE,CLASS) 主关键字是NO 其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。 写出实现下列功能的SQL语句。 ①插入一个记录(25,’李明’,’男’,21,’95031’); 。 ②插入’95031’班学号为30、姓名为’郑和’的学生记录; 。 ③将学号为10的学生姓名改为’王华’; 。 ④将所有’95101’班号改为’95091’; 。 ⑤删除学号为20的学生记录; 。 ⑥删除姓’王’的学生记录; 。 答案: ①INSERT INTO R VALUES(25,’李明’,’男’,21,’95031’) ②INSERT INTO R(NO,NAME,CLASS) VALUES(30,’郑和’,’95031’) ③UPDATE R SET NAME=‘王华’ WHERE NO=10 ④UPDATE R SET CLASS=’95091’WHERE CLASS=’95101’ ⑤DELETE FROM R WHERE NO=20 ⑥DELETE FROM R WHERE NAME LIKE’王%’ 4、SELECT语句中,__WHERE _____子句用于选择满足给定条件的元组,使用_GROUP BY______子句可按指定列的值分组,同时使用__HAVING_____子句可提取满足条件的组。 5、 在SQL中,如果希望将查询结果排序,应在SELECT语句中使用_ORDER BY__子句,其中_ASC____选项表示升序,_DESC______选项表示将降序。 6、子查询的条件不依赖与父查询,这类查询称之为_不相关子查询_______,否则称之为_相关子查询_______。 7、若一个视图是从单个基本表中导出来的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为__行列子集视图_________。 三、SQL练习 1、设学生课程数据库中有三个关系: 学生关系S(S#,SNAME,AGE,SEX) 学习关系SC(S#,C#,GRADE) 课程关系C(C#,CNAME) 其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。 用SQL语句表达下列操作。 (1)检索选修课程名称为 ’MATHS’ 的学生的学号与姓名。 (2)检索至少学习了课程号为 ’C1’ 和 ’C2’ 的学生的学号。 (3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄。 (4)检索平均成绩超过80分的学生学号和平均成绩。 (5)检索选修了三门课以上的学生的姓名。 答案:(1)SELECT S#,SNAME FROM S,SC,C WHERE S.S#=SC.S# AND C.C#=SC.C# AND CNAME=’ MATHS’ (2) SELECT S# FROM SC WHERE CNO=’C1’ AND S# IN( SELECT S# FROM SC WHERE CNO=’C2’) (3)SELECT S#,SNAME,AGE FROM S WHERE SEX=’女’AND AGE BETWEEN 18 AND 20 (4) SELECT S# ,AVG(GRADE) FROM SC GROUP BY S# HAVING AVG(GRADE)>80 (5) SELECT SNAME FROM S,SC WHERE S.S#=SC.S# GROUP BY S# HAVING COUNT(*)>3 2、设学生-课程数据库中包括三个表: 学生表:Student (Sno,Sname,Sex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。 试用SQL语言完成下列项操作: (1)创建一个计算机科学系学生信息视图S_CS_VIEW,该视图包含的属性为:Sno、Sname、Sex。 (2)通过上面第2题创建的视图修改数据,把‘王平’的名字改为‘王慧平’。 (3)创建一选修数据库课程信息的视图,视图名称为datascore_view,该视图包含的属性为: SNO、SNAME、GRADE。 答案: (1) CREATE VIEW S_CS_VIEW AS SELECT SNO, SNAME, SEX FROM STUDENT WHERE Sdept=’CS’ (2)UPDATE S_CS_VIEW SET SNAME=’王慧平’ WHERE SNAME=’王平’ (3) CREATE VIEW datascore_view AS SELECT SNO,SNAME,GRADE FROM STUDENT, SC, COURSE WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME=’数据库’
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

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

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服