sql语句查询每门课都大于80分的学生个数
时间: 2024-01-29 20:03:18 浏览: 157
好的,您想要查询每门课都大于80分的学生个数的sql语句是:
SELECT COUNT(*) FROM student_grade
WHERE math_score > 80 AND english_score > 80 AND chinese_score > 80;
请注意,您需要根据实际表名和字段名进行修改,以确保正确查询。
相关问题
用sql语句查询每门课都大于80的学生信息
假设有3个表: 学生表(student)、课程表(course)、选课表(select_course),其中选课表中记录了学生选修了哪些课程以及对应的成绩。
可以使用以下 SQL 语句查询每门课都大于80的学生信息:
```
SELECT s.*
FROM student s
WHERE NOT EXISTS (
SELECT *
FROM course c
WHERE NOT EXISTS (
SELECT *
FROM select_course sc
WHERE sc.sid = s.id AND sc.cid = c.id AND sc.score >= 80
)
);
```
这个查询语句的意思是:查询所有学生的信息,但是只保留选修了全部课程且成绩都大于等于80分的学生。
用一SQL语句查询出每门课都大于 80 分的学生姓名
可以使用如下的 SQL 语句来查询出每门课都大于 80 分的学生姓名:
```
SELECT s.student_name
FROM student s
JOIN course_selection cs ON s.student_id = cs.student_id
JOIN course c ON cs.course_id = c.course_id
WHERE cs.score > 80
GROUP BY s.student_name
HAVING COUNT(*) = (SELECT COUNT(*) FROM course);
```
其中,`student` 表表示学生信息,包含 `student_id` 和 `student_name` 两个字段;`course_selection` 表表示选课信息,包含 `student_id`、`course_id` 和 `score` 三个字段;`course` 表表示课程信息,包含 `course_id` 和 `course_name` 两个字段。这个 SQL 语句使用 `JOIN` 连接三个表,然后使用 `WHERE` 条件过滤每门课都大于 80 分的选课记录,使用 `GROUP BY` 分组,最后使用 `HAVING` 条件过滤每门课都大于 80 分的学生。其中,`COUNT(*)` 表示统计分组中的行数,这里使用子查询获取了所有课程的数量,然后通过 `HAVING` 条件来判断每个学生的选课数量是否等于课程数量,从而确定每门课都大于 80 分的学生。
阅读全文