用一条SQL 语句 查询出每门课都大于80分的学生姓名(15分) name course score 张三 语文 81 张三 数学 75 王五 语文 81 王五 数学 100 王五 英语 90
时间: 2024-03-16 18:42:33 浏览: 200
可以使用如下SQL语句查询出每门课都大于80分的学生姓名:
```
SELECT name
FROM scores
WHERE score > 80
GROUP BY name
HAVING COUNT(DISTINCT course) = (SELECT COUNT(DISTINCT course) FROM scores);
```
其中,scores 表是包含学生姓名、课程名称和成绩的表。这条 SQL 语句使用 GROUP BY 子句和 HAVING 子句来筛选出每门课都大于80分的学生,先通过 GROUP BY 子句按照姓名分组,再通过 HAVING 子句筛选出选修课程数等于总课程数的学生,从而得到结果。
相关问题
.用一条 SQL 语句 查询出每门课都大于 80 分的学生姓名 grade表: name course score 张三 语文 81 张三数学 75 李四语文 76 李四 数学 90 王五 语文81 王五 数学 100 王五 英语 90
可以使用以下SQL语句查询出每门课都大于80分的学生姓名:
```sql
SELECT name
FROM grade
GROUP BY name
HAVING MIN(score) > 80;
```
以上SQL语句使用`GROUP BY`对姓名进行分组,然后使用`HAVING`关键字过滤分组结果,只选择所有分数都大于80分的学生姓名。`MIN(score)`表示每个分组中最小的分数,如果最小分数都大于80分,则表示该学生每门课都大于80分。
数据库SQL:一张学生成绩表score,部分内容如下:name course grade 张三操作系统67 张三数据结构86 李四软件工程89 用一条SQL语句查询出每]课都大于80分的学生姓名。
SELECT name FROM score WHERE course IN (SELECT DISTINCT course FROM score WHERE grade > 80) GROUP BY name HAVING COUNT(*) = (SELECT COUNT(DISTINCT course) FROM score WHERE grade > 80)
阅读全文