```markdown
在数据库中查询学生的成绩信息是非常常见的操作。若我们需要查询平均成绩为 90 分以上的学生的学号、姓名和平均成绩,可以使用 SQL 语句来实现。
我们假设有一张 students
表,记录了每个学生的基本信息和成绩:
student_id
:学生的学号name
:学生的姓名score
:学生的成绩我们希望查询出平均成绩超过 90 分的学生信息,包括学号、姓名以及他们的平均成绩。
为了得到平均成绩为 90 分以上的学生,可以使用以下 SQL 查询语句:
sql
SELECT student_id, name, AVG(score) AS average_score
FROM students
GROUP BY student_id, name
HAVING AVG(score) > 90;
student_id
和 name
,并计算每个学生的平均成绩(AVG(score)
)。AVG(score)
计算的是每个学生的所有成绩的平均值,别名为 average_score
。
FROM students:
从 students
表中获取数据。
GROUP BY student_id, name:
按照学生的学号和姓名分组,这样可以确保每个学生的成绩都被聚合计算。
HAVING AVG(score) > 90:
HAVING
子句是用来过滤聚合结果的,它在 GROUP BY
之后应用。假设查询结果如下:
| student_id | name | average_score | |------------|----------|---------------| | 1001 | 张三 | 92.5 | | 1005 | 李四 | 91.3 |
此结果表示学号为 1001 的张三和学号为 1005 的李四的平均成绩都超过了 90 分。
通过 SQL 查询,我们可以方便地筛选出符合条件的学生,获取他们的学号、姓名和平均成绩。使用 GROUP BY
和 HAVING
子句的组合可以帮助我们聚合数据并进行筛选。
```