文章目录
-
- [查询表中每门课程得分都不低于 60 分的学生的名字](#查询表中每门课程得分都不低于 60 分的学生的名字)
查询表中每门课程得分都不低于 60 分的学生的名字
- 表结构
sql
student(id, name)
score(student_id, course_id, score)
- 用
GROUP BY + HAVING。先按照学生分组,然后用 MIN(score) 找到每个学生所有课程中的最低分。 - 如果最低分都大于等于 60,说明该学生每门课都不低于 60。
sql
SELECT s.name
FROM student s
JOIN score sc ON s.id = sc.student_id
GROUP BY s.id, s.name
HAVING MIN(sc.score) >= 60;