当前位置:   article > 正文

【SQL】关于sql多表查询:查询初一一班所有男生的英语成绩_请用sql语句实现从下表中检索出所有男生的英语成绩

请用sql语句实现从下表中检索出所有男生的英语成绩

student(学生信息表):
在这里插入图片描述
在这里插入图片描述

class(班级信息表):
在这里插入图片描述
在这里插入图片描述
score(学生成绩表):
在这里插入图片描述
在这里插入图片描述
需求:查询初一一班所有男生的英语成绩

思路:

1.明确查询条件:初一一班, 男生, 英语

2.明确查询结果:成绩

3.明确要查询的表:student, class, score

明确这三点以后,剩下的就是如何将条件组合起来。

试想下,生活中要知道一个学生的某一课程的成绩,首先要明确其班级,然后是其姓名,最后是课程名。

同理,我们可以通过以下步骤来明确sql:

①明确班级:

因为:student表通过class_id 关联class表,

所以:SELECT class_id FROM class WHERE class_name = "初一一班" ==> 获取该班的 class_id,从而和student表建立关联

②明确学生id:

因为:student表通过stu_id 关联 score表,

所以:SELECT stu_id from student where sex = "男" AND class_id = (SELECT class_id FROM class WHERE class_name = "初一一班") ==> 获取该班的 class_id,从而和student表建立关联

③通过学生id,关联到score表,并添加查询条件,课程名,来查询出成绩

SELECT stu.stu_name,sco.score FROM score sco 
LEFT JOIN student stu ON sco.stu_id = stu.stu_id
WHERE stu.class_id = (SELECT class_id FROM class WHERE class_name = "初一一班") 
AND stu.sex = "男" 
AND sco.sub_name = "英语";
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/72146
推荐阅读
相关标签
  

闽ICP备14008679号