数据库第三章习题参考答案

上传人:s9****2 文档编号:509408989 上传时间:2022-12-11 格式:DOCX 页数:5 大小:21.19KB
返回 下载 相关 举报
数据库第三章习题参考答案_第1页
第1页 / 共5页
数据库第三章习题参考答案_第2页
第2页 / 共5页
数据库第三章习题参考答案_第3页
第3页 / 共5页
数据库第三章习题参考答案_第4页
第4页 / 共5页
数据库第三章习题参考答案_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库第三章习题参考答案》由会员分享,可在线阅读,更多相关《数据库第三章习题参考答案(5页珍藏版)》请在金锄头文库上搜索。

1、3-2 对于教务管理数据库的三个基本表S(SNO,SNAME, SEX, AGE,SDEPT)SC(SNO,CNO,GRADE)C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达以下查询: 检索LIU老师所授课程的课程号和课程名。 检索年龄大于23岁的男学生的学号和。 检索学号为200915146的学生所学课程的课程名和任课教师名。 检索至少选修LIU老师所授课程中一门课程的女学生。 检索 WANG 同学不学的课程的课程号。 检索至少选修两门课程的学生学号。 检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU老师所授课程的学生学号。解: SELECT C

2、#,CNAMEFROM CWHERE TEACHE RL=IU ; SELECT S#,SNAMEFROM SWHERE AGE23 AND SE XM= ; SELECT CNAME, TEACHERFROM SC,CWHERE SC.C#=C.C# AND S #=200915146 SELECT SNAME ( 连接查询方式 )FROM S,SC,CWHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX= FANDTEACHER =LIU ;或:SELECT SNAME ( 嵌套查询方式)FROM SWHERE SEX=F AND S# IN(SELECT S#F

3、ROM SCWHERE C# IN (SELECT C#FROM CWHERE TEACHE RL=IU )或:FROM SWHERE SEX=F AND EXISTS(SELECT*FROM SCWHERE SC.S#=S.S#AND EXISTS(SELECT *FROM CWHERE C.C#=SC.C# AND TEACH ERLI=U ) SELECT C#FROM CWHERE NOT EXISTS(SELECT *FROM S,SCWHERE S.S#=SC.S# AND SC.C#=C.C# AND SNA MWE=ANG); SELECT DISTINCT X.S#FROM

4、SC AS X , SC AS YWHERE X.S#=Y.S# AND X.C#!=Y.C#; SELECT C#.CNAMEFROM CWHERE NOT EXISTS (SELECT *FROM SWHERE NOT EXISTS(SELECT *FROM SCWHERE S#=S.S# AND C#=C.C#); SELECT DISTINCT S#FROM SC AS XWHERE NOT EXISTIS(SELECT *FROM CWHERE TEACHE RL=IU AND NOT EXISTS(SELECT *FROM SC AS YWHERE Y.S#=X.S# AND Y.

5、C#=C.C#);3-3试用SQL查询语句表达以下对3.2题中教务管理数据库的三个基本表 S、SC、C查询: 统计有学生选修的课程门数。 求选修4号课程的学生的平均年龄。求LIU老师所授课程的每门课程的学生平均成绩。 统计每门课程的学生选修人数超过10 人的课程才统计 。要求输出课程号和选修人数,查询结果按人数降序排列,假设人数相同,按课程号升序排列。 检索学号比 WANG 同学大,而年龄比他小的学生。 检索以 WANG 打头的所有学生的和年龄。在SC中检索成绩为空值的学生学号和课程号。 求年龄大于女同学平均年龄的男学生和年龄。 求年龄大于所有女同学年龄的男学生和年龄。解: SELECT CO

6、UNT(DISTINCT C#)FROM SC; SELECT AVG(AGE)FROM S,SCWHERE S.S#=SC.S# AND C #= 4 AND SEX= F ; SELECT C.C#,AVG(GRADE)FROM SC,CWHERE SC.C#=C.C# AND TEACH ERLI=U ; SELECT C#,COUNT(S#)FROM SCGROUP BY C#HAVING COUNT(*)10ORDER BY 2 DESC , 1; SELECT SNAMEFROM SWHERE S#ALL(SELECT S#FROM SWHERE SNAMEW=ANGAND AGE

7、(SELECT AVG(AGE) FROM SWHERE SEX=F ); SELECT SNAME,AGEFROM SWHERE SEX=M AND AGEALL(SELECT AGEFROM SWHERE SEX = F );3-4试用SQL更新语句表达对3.2给出的教务管理数据库中三个基本表 S、SC、C 进行如下更新操作: 往基本表S中插入一个学生元组(200912143张晶,21)。在基本表S中检索每一门课程成绩都大于等于80分的学生学号、和性别,并把检索到的值送往另一个已存在的基本表STUDENT(SNO,SNAME,SEX) 。 在基本表SC中删除尚无成绩的选课元组。把张成民同学

8、在SC中的选课记录全部删去。 把选修高等数学课程中不及格的成绩全部改为空值。 把低于总平均成绩的女同学成绩提高 5%。在基本表SC中修改4号课程的成绩,假设成绩小于等于75分时提高5%,假设成绩大于75分时提高4%用两个UPDATE语句实现。解: INSERT INTO S(S#,SNAME,AGE)VALUES( 200912143 , 张晶 ,21);(2) INSERT INTO STUDENT (SNO,SNAME,SEX)SELECT S#,SNAME,SEXFROM SWHERE S# IN (SELECT S#FROM SCWHERE 80=ALL(SELECT GRADEFRO

9、M SCGROUP BY S#);(3) DELETE FROM SCWHERE GRADE IS NULL;(4) DELETEFROM SCWHERE S# IN(SELECT S#FROM S UPDATE SCSET GRADE=NULLWHERE GRADE60 AND C# IN(SELECT C#FROM CWHERE CNAME=高等数学); UPDATE SCSET GRADE=GRADE*1.05WHERE S# IN(SELECT S#FROM SWHERE SEX=F )AND GRADE75;UPDATE SCSET GRADE=GRADE*1.05WHERE C# =4 AND GRADE=75;注意:这两个UPDATE 语句的顺序不能颠倒。

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

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号