史上最经典的数据库面试题之二
2013-05-27 21:17
218 查看
已知关系模式:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC (SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
1.找出没有选修过“李明”老师讲授课程的所有学生姓名。
2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩。
3.列出既学过“1”号课程,又学过“2”号课程的所有学生姓名。
4.列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号。
5.列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩。
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC (SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
1.找出没有选修过“李明”老师讲授课程的所有学生姓名。
SELECT SNAME FROM S WHERE NOT EXISTS( SELECT * FROM SC, C WHERE SC.CNO=C.CNO AND CTEACHER='李明' AND SC.SNO=S.SNO)
2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩。
SELECT S.SNO, S.SNAME, AVG_SCGRADE=AVG(SC.SCGRADE) FROM S, SC, ( SELECT SNO FROM SC WHERE SCGRADE<60 GROUP BY SNO HAVING COUNT(DISTINCT CNO)>=2 )T WHERE S.SNO=T.SNO AND SC.SNO=T.SNO GROUP BY S.SNO, S.SNAME
3.列出既学过“1”号课程,又学过“2”号课程的所有学生姓名。
SELECT S.SNO, S.SNAME FROM S, ( SELECT SC.SNO FROM SC, C WHERE SC.CNO=C.CNO AND C.CNAME IN('1', '2') GROUP BY SNO HAVING COUNT(DISTINCT CNO)=2 )T WHERE S.SNO=T.SNO
4.列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号。
SELECT S.SNO, S.SNAME FROM S, ( SELECT SC1.SNO FROM SC SC1, C C1, SC SC2, C C2 WHERE SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND SC1.SCGRADE>SC2.SCGRADE )T WHERE S.SNO=T.SNO
5.列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩。
SELECT S.SNO, S.SNAME, SC.[1号课成绩], SC.[2号课成绩] FROM S, ( SELECT SC1.SNO, [1号课成绩]=SC1.SCGRADE, [2号课成绩]=SC2.SCGRADE FROM SC SC1, C C1, SC SC2, C C2 WHERE SC1.CNO=C1.CNO AND C1.NAME=‘1’ AND SC2.CNO=C2.CNO AND C2.NAME=‘2’ AND SC1.SCGRADE>SC2.SCGRADE )T WHERE S.SNO=T.SNO
相关文章推荐
- 史上最经典的数据库面试题之一
- 数据库经典面试题
- 史上最经典的数据库面试题之二
- JAVA经典面试题-数据库
- 【数据库】SQL经典面试题 - 行列转换二 - 列转行
- 【数据库】SQL经典面试题 - 数据库查询 - 子查询应用二
- JAVA面试题jsp ejb sql 数据库 等面试题 Oracle Sql server MySQL 经典数据库学习资料
- mysql经典数据库面试题
- 史上最经典的数据库面试题之一
- [经典面试题]字符串编辑距离
- 经典笔试面试题——杂题(各种各样的小问题)
- 经典面试题--两个双向链表删除相同值
- 经典面试题(讨论canvas与svg的区别)
- Struts,Hibernate,Spring经典面试题收藏
- Sql经典面试题二
- 经典C/C++面试题(四)
- 数据库面试题
- 数据库经典问题
- 经典面试题之最长滑道(2017爱奇艺内推笔试题)
- VB&数据库交互——经典五实例整理知识点