mysql使用子程序查询小于平均成绩的学生选课信息
时间: 2024-11-09 18:18:14 浏览: 10
java+swing+mysql实现的学生选课成绩信息管理系统
5星 · 资源好评率100%
MySQL 使用子程序查询可以这样操作,首先假设我们有一个 `grades` 表,包含学生 (`student_id`)、课程 (`course_id`) 和分数 (`score`)。为了获取所有小于平均成绩的学生及其选课信息,你可以按照以下步骤编写 SQL 查询:
```sql
-- 步骤一:计算平均成绩
WITH avg_score AS (
SELECT AVG(score) as average_score
FROM grades
)
-- 步骤二:从原始表中选择小于平均分的记录
SELECT g.*
FROM grades g
JOIN avg_score
WHERE g.score < avg_score.average_score
;
```
这个查询首先创建了一个名为 `avg_score` 的临时表(Common Table Expression, CTE),它包含了整个表 `grades` 的平均成绩。然后在主查询中,我们通过 `JOIN` 子句将 `grades` 表与 `avg_score` 结合,并筛选出那些分数小于平均成绩的学生的所有选课信息。
阅读全文