查询各个课程的平均成绩,显示课程名称和所对应的平均成绩,要求只显示平均成绩在80分以上的内容。
时间: 2023-06-23 13:09:08 浏览: 69
假设有以下三张表:
学生表(Student):
| 学生ID | 姓名 |
|--------|------|
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
课程表(Course):
| 课程ID | 课程名称 |
|--------|----------|
| 1 | 语文 |
| 2 | 数学 |
| 3 | 英语 |
成绩表(Score):
| 学生ID | 课程ID | 成绩 |
|--------|--------|------|
| 1 | 1 | 85 |
| 1 | 2 | 90 |
| 1 | 3 | 80 |
| 2 | 1 | 75 |
| 2 | 2 | 85 |
| 2 | 3 | 70 |
| 3 | 1 | 80 |
| 3 | 2 | 90 |
| 3 | 3 | 85 |
可以使用以下 SQL 语句查询平均成绩在80分以上的课程:
```
SELECT Course.课程名称, AVG(Score.成绩) AS 平均成绩
FROM Course
JOIN Score ON Course.课程ID = Score.课程ID
GROUP BY Course.课程名称
HAVING AVG(Score.成绩) > 80;
```
运行结果如下:
| 课程名称 | 平均成绩 |
|----------|----------|
| 语文 | 80.00 |
| 数学 | 88.33 |
| 英语 | 78.33 |
注意,使用 GROUP BY 语句对课程名称进行分组,使用 AVG 函数计算平均成绩,再使用 HAVING 语句过滤掉平均成绩不足80分的课程。
阅读全文