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
 )
相关推荐
daidaidaiyu4 分钟前
Spring IOC 源码学习 事务相关的 BeanDefinition 解析过程 (XML)
java·spring
麦聪聊数据27 分钟前
QuickAPI 在系统数据 API 化中的架构选型与集成
数据库·sql·低代码·微服务·架构
2403_8355684727 分钟前
自然语言处理(NLP)入门:使用NLTK和Spacy
jvm·数据库·python
wal131452037 分钟前
Dify发布V1.13.1版本,Hologres 向量数据库支持、HITL 邮件 Markdown 渲染及多项安全加固
数据库·安全·dify
鬼蛟1 小时前
Spring————事务
android·java·spring
Leon-Ning Liu1 小时前
Oracle UNDO表空间文件误删除故障恢复
数据库·oracle
西门吹-禅2 小时前
【sap fiori cds up error】
java·服务器·sap cap cds
2301_776508722 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
敲代码的嘎仔2 小时前
Java后端面试——SSM框架面试题
java·面试·职场和发展·mybatis·ssm·springboot·八股
cxr8282 小时前
PaperclipAI 组织关系与智能体协作指南
数据库·人工智能·架构·ai智能体·openclaw