sql统计各科成绩大于平均分的人_求解: sql 数据库 检索各科成绩均大于等于该科平均成绩的学生的学号和姓名...
-- 这一部分,是查询每一个课程的平均成绩
(SELECT
课程号,
AVG(成绩) AS 平均成绩
FROM
#成绩表 a
GROUP BY
课程号
) AS 平均成绩表
-- 这个是将 平均成绩 与 成绩表 关联.
LEFT JOIN #成绩表
-- 这里是关联条件
-- 课程号匹配. 成绩要大于平均成绩
-- 学生号的条件,是和外面的学生号关联.
ON (平均成绩表.课程号 = #成绩表.课程号
AND 平均成绩表.平均成绩 < #成绩表.成绩
AND #成绩表.学生号 = #学生表.学生号)
这个子查询的结果,就是将每一个学生的成绩,都与平均成绩作比较.
如果成绩 大于 平均成绩,那么 关联结果中,包含 学生号
如果成绩 小于等于平均成绩,那么 关联结果中, 不包含 学生号,也就是那个 学生号的地方,是 NULL
你可以单独执行中间的那段子查询。
SELECT
平均成绩表.课程号,
平均成绩表.平均成绩,
#成绩表.成绩,
#成绩表.学生号
FROM
(SELECT
课程号,
AVG(成绩) AS 平均成绩
FROM
#成绩表 a
GROUP BY
课程号
) AS 平均成绩表
LEFT JOIN #成绩表
ON (平均成绩表.课程号 = #成绩表.课程号
AND 平均成绩表.平均成绩 < #成绩表.成绩
AND #成绩表.学生号 = 1)
当学生号是1,也就是全部都超过平均成绩的,所有数据都显示。
当学生号是其他的数字的时候,不满足条件的,成绩表的部分是 NULL.
那么最后的那个
WHERE
学生号 IS NULL
是和 前面的
NOT EXISTS(
结合起来使用的。
意思就是
不存在有
学生号是 NULL 的数据。
那么就是所有的成绩都超过 平均成绩了。
假如有一门成绩没超过,那么就会存在有 学生号是 NULL 的,那么就不会显示在最后的结果当中。
至于 "难道再没有稍微简单一点的做法吗?"
我想应该是有的,只不过我的水平不高,也就只能写出这个程度的SQL了。
sql统计各科成绩大于平均分的人_求解: sql 数据库 检索各科成绩均大于等于该科平均成绩的学生的学号和姓名...相关推荐
- sql统计各科成绩大于平均分的人_数据分析师SQL面试必备50题
以下是SQL面试必备的经典的50道题目,每道题都有博主本人的解题思路和对应的SQL语句. 每道题的思路与答案均为博主本人主观理解,仅供参考. 环境:MySQL8.0 可视化工具:Navicat 1.查 ...
- 查询计算机科学系的学生,查询“计算机系”学生的学号、姓名、学生所选课程名和成绩,正确的命令是( ..._考试资料网...
单项选择题第31-35题使用如下三个数据库表: 学生表:student(学号,姓名,性别,出生日期,院系) 课程表:course(课程号,课程名,学时) 选课成绩表:score(学号,课程号,成绩) ...
- 计算机学院的学生起个昵称,查询“计算机系”学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是(..._考试资料网...
单项选择题使用如下三个数据库表: 学生表:student (学号,姓名,性别,出生日期,院系) 课程表:course (课程号,课程名,学时) 选课成绩表:score (学号,课程号,成绩) 其中出生 ...
- c语言编译学生成绩统计,c语言:编写程序,输入是个学生的学号、姓名成绩,输出学生成绩等级和不及格人数。...
c语言:编写程序,输入是个学生的学号.姓名成绩,输出学生成绩等级和不及格人数.0 定义调用set_grade()设置等级A85 100 C60 69 B70 84 D 0 59 #include #i ...
- 以小组为单位,设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。
设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩. 实现如下要求的功能: 1.根据姓名查询该学生的总成绩: 2.统计全班 ...
- sql查询计算机系学生的学号和姓名,实验5数据库的简单查询操作答案.docx
(6) 从学生信息表中查询计算机系年龄小于 (6) 从学生信息表中查询计算机系年龄小于 20 的学生的信息 SQL 代码如下: (2) (2) 从学生信息表中查询所有学生的姓名和学号信息并分别 实验 ...
- mysql查询学号和姓名_数据库SQL语句中 查询选修了全部课程的学生的学号和姓名...
一.SQL语言查询选修了全部课程的学生的学号和姓名. 两种解决途径: 第一种: 我们可以表示为在SC表中某个学生选修的课程数等于C表中课程总数.相应的SQL语言如下: selectS#,SNAMEfr ...
- 现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分) 学习(学号,课程号,分数) 分别用关系代数表达式和 SQL 语句实现下列 1—5 小题(注意:每小题都要分别 写出关
现有关系数据库如下: 学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分) 学习(学号,课程号,分数) 分别用关系代数表达式和 SQL 语句实现下列 1-5 小题(注意:每小题都要分别 写出关 ...
- 【水汐のC#】计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。实现如下要求的功能:
设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩.实现如下要求的功能: 根据姓名查询该学生的总成绩: 统计全班学生总分的 ...
最新文章
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
- Oracle常用字段数据类型/to_char函数
- 页面间参数值传递含“%”的处理方法
- 美国西北大学 计算机工程专业排名,美国西北大学优势专业排名榜单最新一览...
- 开源项目|从0到1教你搭建一个适配于智能车的目标检测系统
- linux100day(day7)--用户管理和权限管理简单介绍
- linux vps 可视化监控,CentOS 7安装Grafana 4及结合Zabbix3.2实现可视化监控图形
- 7-7 念数字 (10 分)
- MovieClip实现拖拽等移动位置的功能
- 最短路算法(3种算法)
- 快速划分分栏控制器上的item(自定义)
- OracleSpatial函数实例
- 五一节快乐~ 顺便写给博友【小诺的网络技术课堂】 小盆友~
- Matpower使用中问题
- java px pt转化_pt和px的转换
- Excel文档中字符型数据转化为数字类型
- 有哪些好用的视频录制工具?
- WSL2 安装 Ubuntu-20.04 子系统CUDA(Win10和Win11)
- 利用VBA将excel中链接转换为图片形式存放在指定的单元格中
- maple化简_在线测试(Maple TA)使用须知yx - 课程中心.PDF
热门文章
- ensp 进入交换机子接口、让子接口认识vlanid的数据帧、开启路由器的arp广播:实现pc之间的通信。
- vue生命周期每个阶段可以做什么
- MySql数据库创建用户出现1396这个错误
- 7-26 最大公约数和最小公倍数 (C语言)
- 域名升级中 自动跳转_今天没事,把自己的官网从http升级到https
- Android xUtils3源码解析之注解模块
- 一款在线制图工具介绍:如何在线免费绘制UML,云架构,ER模型,平面图,流程图等-...
- ctrl c复制浏览器html,网页禁止右键复制和ctrl-c复制,怎么解决 爱问知识人
- 细说linux IPC(十):system V 消息队列
- 使用linux系统的手机有哪些内容吗,为什么工作选LINUX,我只听说过手机有这个系统...