Mysql找出学生选修的所有课程的成绩都大于80分的学生姓名。
时间: 2023-05-21 08:00:43 浏览: 158
查询数据库中所有有成绩的学生的学号和课程号
4星 · 用户满意度95%
可以使用以下 SQL 语句来实现:
SELECT s.name
FROM student s
JOIN score sc ON s.id = sc.student_id
WHERE sc.score > 80
GROUP BY s.id
HAVING COUNT(*) = (SELECT COUNT(*) FROM course);
其中,student 表存储学生信息,包括学生姓名和学生 ID;course 表存储课程信息,包括课程名称和课程 ID;score 表存储学生选修课程的成绩信息,包括学生 ID、课程 ID 和成绩。这个 SQL 语句使用了 JOIN 操作将三个表连接起来,然后使用 WHERE 子句过滤出成绩大于 80 分的记录,再使用 GROUP BY 子句按照学生 ID 分组,最后使用 HAVING 子句过滤出选修了所有课程并且成绩都大于 80 分的学生。
阅读全文