当前位置: 首页 > news >正文

面试中经常遇到的SQL

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、首先给出表结构,表结构需要大家去分析一下他们之间的逻辑关系。
 Student(Sno,Sname,Sage,Ssex) 学生表 
 Course(Cno,Cname,Tno) 课程表
 SC(Sno,Cno,score) 成绩表 
 Teacher(Tno,Tname) 教师表 
2、问题
(1)查询“c001”课程比“c002”课程成绩高的所有学生的学号;
(2)查询平均成绩大于60分的同学的学号和平均成绩;
(3)查询所有同学的学号、姓名、选课数、总成绩;
(4)查询姓“李”的老师的个数;
(5)查询没学过“叶平”老师课的同学的学号、姓名;
(6)查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;
(7)查询学过“叶平”老师所教的所有课的同学的学号、姓名;
(8)查询课程编号“c002”的成绩比课程编号“c001”课程低的所有同学的学号、姓名;
(9)查询所有课程成绩小于60分的同学的学号、姓名;
(10)查询没有学全所有课的同学的学号、姓名;
 要求:
(1)请严格用Oracle对以上四张表进行建表。
(2)请严格按照Oracle SQL语法完成以上10道题 
(1)查询“c001”课程比“c002”课程成绩高的所有学生的学号
答案:
select sno from sc where cno = 'c001' and sc.score >any (select score from sc where cno = 'c002'); 
(2)查询平均成绩大于60分的同学的学号和平均成绩;
答案:
select sno, avg(score) from sc group by sno having avg(score) > 60; 
(3)查询所有同学的学号、姓名、选课数、总成绩;
答案:
select sc.sno,sname,sum(score),count(cno) from sc, student where sc.sno = student.sno group by sc.sno,sname; 
(4)查询姓“李”的老师的个数;
答案:
select count(tno) from teacher where tname like '李%'; 
(5)查询没学过“叶平”老师课的同学的学号、姓名;
答案:
select sc.sno,sname from student, teacher, course, sc where teacher.tname <> '叶平' and 
teacher.tno = course.tno and course.cno = sc.cno and sc.sno = student.sno; 
(6)查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;
答案:
select sc.sno,sname from sc,student where sc.cno = 'c001' and student.sno = sc.sno 
and sc.sno in (select sno from sc where sc.cno = 'c002'); 
(7)查询学过“叶平”老师所教的所有课的同学的学号、姓名;
答案:
select sc.sno,sname from student, teacher, course, sc where teacher.tname = '叶平' and 
teacher.tno = course.tno and course.cno = sc.cno and sc.sno = student.sno; 
(8)查询课程编号“c002”的成绩比课程编号“c001”课程低的所有同学的学号、姓名;
答案:
select sno from sc where cno = 'c002' and sc.score 60; 
(10)查询没有学全所有课的同学的学号、姓名;
答案:
select sc.sno,student.sname from sc,student where sc.sno = student.sno 
group by sc.sno,student.sname having count(cno) < (select count(cno) from course);

转载于:https://my.oschina.net/easonwang14/blog/38854

相关文章:

  • linux小知识
  • 部署 Lync 2010 移动电话(Internal)
  • silverlight 动态类创建和使用
  • CNZZ统计独立访客、ip、pv
  • Bash的陷阱
  • liunx下的find 参数及用法
  • PHP中去除换行解决办法小结(PHP_EOL)
  • arp简析
  • 数字签名与加密解密
  • [医疗]DICOM VR数据类型表
  • 马化腾创业前传:50万创业资金自炒股得来
  • TX Text Control文字处理教程(8)使用超链接
  • mongodb
  • Navicat for MySQL之HTTP和SSH远程连接数据库
  • 20个数据库设计最佳实践
  • 〔开发系列〕一次关于小程序开发的深度总结
  • CSS居中完全指南——构建CSS居中决策树
  • HTTP--网络协议分层,http历史(二)
  • js面向对象
  • JS题目及答案整理
  • Koa2 之文件上传下载
  • Laravel Mix运行时关于es2015报错解决方案
  • Python socket服务器端、客户端传送信息
  • Sass Day-01
  • uni-app项目数字滚动
  • win10下安装mysql5.7
  • windows下mongoDB的环境配置
  • 笨办法学C 练习34:动态数组
  • 构建二叉树进行数值数组的去重及优化
  • 讲清楚之javascript作用域
  • 聊聊sentinel的DegradeSlot
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我的面试准备过程--容器(更新中)
  • 一道面试题引发的“血案”
  • 以太坊客户端Geth命令参数详解
  • 在weex里面使用chart图表
  • 2017年360最后一道编程题
  • Mac 上flink的安装与启动
  • Python 之网络式编程
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • #mysql 8.0 踩坑日记
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (过滤器)Filter和(监听器)listener
  • (论文阅读40-45)图像描述1
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)setTimeout 和 setInterval 的区别
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • 、写入Shellcode到注册表上线
  • .a文件和.so文件
  • .net 简单实现MD5
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET/C# 的字符串暂存池
  • .NET/C# 使窗口永不获得焦点