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

SQL基础练习题三

1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数

select student.*,sc1.s_score as score01,sc2.s_score as score02 from student 
join score sc1 on student.s_id = sc1.s_id and sc1.c_id ="01"
join score  sc2 on student.s_id = sc1.s_id and sc2.c_id ="02"
where sc1.s_score>sc2.s_score;

2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数

select student.*,sc1.s_score as score01,sc2.s_score as score02 from student 
join score sc1 on student.s_id = sc1.s_id and sc1.c_id ="01"
join score  sc2 on student.s_id = sc1.s_id and sc2.c_id ="02"
where sc1.s_score<sc2.s_score;

3、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

这个是把新生成的表放入join中和之前的表连接,我当时错误原因就是子查询放入位置错误

select student.s_id,s_name,result.course_numb,result.sum_score  from student 
join  (
SELECT score.s_id, count(*) AS course_numb,SUM(score.s_score) AS sum_score
FROM score 
GROUP BY s_id 
) as result on student.s_id = result.s_id;

4、查询学过"张三"老师授课的同学的信息

select DISTINCT student.s_id ,student.s_name,student.s_sex from student 
join score on student.s_id = score.s_id
join course on score.c_id = course.c_id
join teacher on teacher.t_id = course.t_id
WHERE teacher.t_name = '张三';

表信息:


http://www.kler.cn/news/356105.html

相关文章:

  • 极氪汽车困局:营销频繁车、产品力不足
  • 群晖通过 Docker 安装 MySQL
  • 文心一言帮程序员干活:请帮我写出数字1到50的英文
  • Linux C语言 进程详解——fork()/wait()/waitpid()
  • 河北工业大学《2023年+2022年980自动控制原理真题》 (完整版)
  • Docker国内设置镜像最新加速地址
  • ddos攻击介绍和排查方法
  • 冲锋衣市场洞察:全方位数据分析与趋势展望
  • 深入解析浮动布局及其在现代Web开发中的应用与替代(浮动的概念及应用、如何清除浮动、使用Flex布局和Grid布局的区别、使用`float`布局的历史和现状)
  • c++ std::future 和 std::promise 的实现工作原理简介
  • 获取非加密邮件协议中的用户名和密码——安全风险演示
  • 操作系统任务操作
  • CTFHUB技能树之SQL——Refer注入
  • 滚雪球学Redis[6.4讲]:Redis消息队列:构建高效的消息通信与任务调度系统
  • PyTorch 的 Dataset 类介绍
  • 构建行业应用生态:云原生应用市场简化企业软件安装
  • 【ChatGPT】如何让 ChatGPT 理解多步骤指令
  • 使用Riotee轻松实现无电池TinyML
  • .net 根据html的input type=“week“控件的值获取星期一和星期日的日期
  • 【基础篇】AOF日志:宕机了,Redis如何避免数据丢失?