数据库语言sql作业解答.docx
- 131****7778个人认证 |
- 2021-04-15 发布|
- 1.7 MB|
- 7页
Prepared on 21 November 2021
Prepared on 21 November 2021
数据库语言SQL作业解答
SQL语言习题
1. 关系数据模型如下:
学生S(SNO,SN,SEX,AGE)
课程C(CNO,CN,PCNO) PCNO为直接先行课号
选课SC(SNO,CNO,GR) GR为课程考试成绩
用SQL写出查询程序:
选修课程“DB”的学生姓名SN。
方法1. SELECT SN FROM S WHERE SNO IN ( SELECT SNO FROM SC WHERE CNO IN ( SELECT CNO /* = */ FROM C WHERE CN = ‘DB’ ) );
方法2. SELECT SN FROM S, SC, C WHERE S.SNO=SC.SNO
AND SC.CNO=C.CNO
AND CN = “DB”;
2. 关系数据模型如下:
学生S(SNO,SN,SEX,AGE)
课程C(CNO,CN,PCNO) PCNO为直接先行课号
选课SC(SNO,CNO,GR) GR为课程考试成绩
用SQL写出查询程序:
查询课程名和它的直接先行课的课程名以及它的间接先行课的课程名。
SELECT CN, CX.CN, CY.CN FROM C,C CX,C CY WHERE C.PCNO=CX.CNO
AND CX.PCNO=CY.CNO
[例41]找出每个学生超过他选修课程平均成绩的课程号。 SELECT Sno,Cno FROM SC x
WHERE Grade >= ( SELECT AVG(Grade) FROM SC y WHERE y.Sno=x.Sno );
3. 关系数据模型如下 P84 例4.26
学生S(SNO,SN,SEX,AGE)
课程C(CNO,CN,PCNO) PCNO为直接先行课号