史上最经典的数据库面试题之二
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
转载于:https://www.cnblogs.com/innosight/archive/2013/05/27/3271259.html
史上最经典的数据库面试题之二相关推荐
- 史上最全的数据库面试题,不看后悔篇!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:追寻自我 cnblogs.com/wenxiaofei/p/ ...
- 史上最全的数据库面试题,不看绝对后悔
点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 Everyone ha ...
- 【103期】史上最全的数据库面试题,面试前刷一刷!
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 40 分钟. 来自:cnblogs.com/wenxiaofei/p/9853682.html 一.基本概念 1.主键.外键. ...
- 经典SQL数据库面试题以及答案—Oracle版本-SQL全部在plsql开发编写-欢迎提问
Student(Sno,Sname,Sage,Ssex) 学生表 S1:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别 Course(Cno,Cname,T1) 课程表 C1,课程 ...
- 经典mysql数据库面试题_【数据库】MySQL经典面试题(练习)
id number(32) NOT NULL, name varchar(10) DEFAULT NULL, sax varchar(10) DEFAULT NULL, age number(6) D ...
- 数据库面试题【二、MYSQL的两种存储引擎区别(事务、锁级别等等)】
引擎 特性 MYISAM 不支持外键,表锁,插入数据时,锁定整个表,查表总行数时,不需要全表扫描 INNODB 支持外键,行锁,查表总行数时,全表扫描
- 计网/数据库面试题(更新中ing~~)
计网/数据库面试题(更新中ing~~) <计算机网络> 1. OSI七层模型.设备 (传输层)协议的多路分用和复用 2. TCP/IP四层模型==五层模型 (传输层)TCP和UDP协议对比 ...
- MySQL数据库面试题(2021最新版)
文章目录:http://github.crmeb.net/u/defu 数据库基础知识 为什么要使用数据库 什么是SQL? 什么是MySQL? 数据库三大范式是什么 mysql有关权限的表都有哪几个 ...
- 经典大数据面试题及解析
经典大数据面试题及解析 1.下列哪个属性是hdfs-site.xml中的配置? A.dfs.replication B.fs.defaultFS C.mapreduce.framework.name ...
最新文章
- 占用栅格地图算法的理解
- python英语单词大全-使用Python进行英文单词分割
- Linux 上的最佳 C/C++ IDE
- 探索javascript----获得节点计算后样式
- 制作wordpress页面的学习记录
- YII2 随笔 视图最佳实践
- 安装mysql-connector-python-8.0.11-py3.6遇到问题
- PP视频怎么关闭PP视频虚拟键盘显示
- Magento教程 21:新增客户评价的满意度项目! (Add rating)
- c# getresponsestream返回byte[]_C#通过SharpZipLib库创建压缩文件
- 单手撸了个springboot+mybatis+druid 1
- Angr安装与使用之使用篇(二)
- Android字体设置,Roboto字体使用
- foxmail邮件备份到服务器上,foxmail发送邮件自动保存到邮件服务器的方法
- Datawhale组队学习周报(第031周)
- 北京建筑大学计算机学院岑孝鹏,北京建筑大学
- C++写入并追加内容到txt中
- C#:控制台数绵羊小程序
- LT7911D功能概述 LT7911D是Type-C/DP1.2转双路MIPI/Lvds的一款芯片
- 视频教程-玩转2018微信小程序-微信开发