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

头歌实验MySQL数据库 - 复杂查询(二)

第1关:查询学生平均分


#请在此添加实现代码
########## Begin ##########
select student.s_id, student.s_name,round(avg(score.s_score),2) as avg_score 
from student inner join score on student.s_id=score.s_id
group by s_id having avg_score<60union
select student.s_id,student.s_name,0 as avg_score 
from student 
where student.s_id not in(select distinct s_id from score);########## End ##########

第2关:查询修课相同学生信息


#请在此添加实现代码
########## Begin ##########
create view temp as(select s_id,group_concat(c_id)as c from score group by s_id);
select * from student where s_id in(select s_id from temp where c=(select c from temp where s_id="01")and s_id<>"01");
########## End ##########

第3关:查询各科成绩并排序

#请在此添加实现代码
########## Begin ##########
/*select s_id,c_id,s_score,
rank() over (partition by c_id order by s_score desc) as rank
from score;
order by s_id,c_id;*/
SELECT s.s_id,s.c_id,s.s_score,(SELECT COUNT(*) + 1 FROM score s2 WHERE s2.c_id = s.c_id AND s2.s_score > s.s_score) AS rank
FROM score s
ORDER BY s.s_id,s.c_id;
########## End ##########

第4关:查询张老师课程成绩最高的学生


#请在此添加实现代码
########## Begin ##########
select a.*,b.s_score,b.c_id,c.c_name from student a 
INNER JOIN score b ON a.s_id = b.s_id
INNER JOIN course c ON b.c_id = c.c_id
where b.c_id = (select c_id from course c,teacher d where c.t_id=d.t_id and d.t_name="张三")
and b.s_score in (select MAX(s_score)from score where c_id="02");########## End ##########

第5关:查询两门课程不及格同学信息

#请在此添加实现代码
########## Begin ##########
select a.s_id,a.s_name,ROUND(AVG(b.s_score))
avg_score from student a 
inner join score b on a.s_id = b.s_id
where a.s_id in(select s_id from score where s_score<60 GROUP BY s_id having count(*)>=2
)
GROUP BY a.s_id,a.s_name;########## End ##########

相关文章:

  • 深入解析Semantic Kernel中的聊天历史记录对象
  • Gradio全解20——Streaming:流式传输的多媒体应用(6)——RT-DETR模型构建视频流目标检测系统
  • STM32教程:DMA原理及结构分析(基于STM32F103C8T6最小系统板标准库开发)*详细教程*
  • C++类与对象深度解析:从基础到应用
  • 《Java 高并发程序设计》笔记
  • 【言语理解】片段阅读之标题拟定(5)
  • Deepseek基础-api key申请及应用(java)、硅基流动api key申请及应用(dify)
  • 《Effective java》 第三版 核心笔记
  • 怎么才能找到自己的天赋?
  • 图片批量处理JPGC 深度测评:智能压缩 + 多线程加速
  • RFID(无线射频识别)技术在牧场中的结合智能助手应用
  • 编译原理期末重点-个人总结——1 概论
  • 创建线程的几种方式
  • 第13项三期,入组1123例:默沙东启动TROP2 ADC+PD-1子宫内膜癌头对头临床
  • C++ 重载:解锁符号与函数的 “变形魔法”
  • labelimg快捷键
  • Tensorrt 基础入门
  • C语言之初识指针
  • C++ -- 内存管理
  • 机器学习项目流程极简入门:从数据到部署的完整指南
  • 山东如意集团及实控人等被出具警示函,此前实控人已被罚十年禁止入市
  • 科技赋能文化体验,“五一”假期“海昏侯”人气创新高
  • 证券时报头版:巴菲特留给投资界的珍贵启示
  • 科普|治疗腰椎间盘突出症,筋骨平衡理论如何提供新视角?
  • 马斯克的“星舰基地”成为新城镇,首任市长为SpaceX员工
  • 旧宫新语|瑞琦:再探《古玩图》——清宫艺术品的前世与今生