sql题目练习-子查询

题目:

假设有 students 表,字段有 student_id(学生编号,主键),student_name(学生姓名),class_id(班级编号),score(成绩);

以及 classes 表,字段有 class_id(班级编号,主键),class_name(班级名称)。

编写 SQL 查询成绩高于所在班级平均成绩的学生姓名、成绩和班级名称
解答:

通过连接 students 表和 classes 表,并使用子查询计算每个班级的平均成绩,然后在主查询中筛选出成绩高于所在班级平均成绩的学生信息。

sql 复制代码
select s.student_name,c.class_name,s.score
from students s
join  classes c on s.class_id=c.class_id
where s.score>(
 select avg(score) as avg_score
 from students
 group by class_id
 having class_id=s.class_id
 )
相关推荐
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
一定要AK7 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao7 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao7 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
科技小花7 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸7 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain7 小时前
linux个人心得22 (mysql)
数据库·mysql
迷藏4947 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
阿里小阿希7 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神8 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle