在学生选课表中,统计学生平均分大于 70 的成绩记录。包括学生学号、总分、平均 分、课程门数、课程最高分、最低分字段。
时间: 2023-11-07 09:01:57 浏览: 90
学生成绩管理系统 系统功能基本要求 学生信息,学号、姓名、性别、专业、年级等
假设有三张表:学生表(student)、课程表(course)、选课表(selection)。
学生表结构如下:
| 字段名 | 类型 | 描述 |
| ------ | ------- | ------ |
| sno | varchar | 学号 |
| sname | varchar | 姓名 |
| ssex | varchar | 性别 |
| sage | int | 年龄 |
| sdept | varchar | 院系 |
课程表结构如下:
| 字段名 | 类型 | 描述 |
| ------ | ------- | -------- |
| cno | varchar | 课程编号 |
| cname | varchar | 课程名称 |
| ccredit| int | 学分 |
选课表结构如下:
| 字段名 | 类型 | 描述 |
| ------ | ------- | -------- |
| sno | varchar | 学号 |
| cno | varchar | 课程编号 |
| grade | int | 成绩 |
可以使用以下 SQL 语句查询学生平均分大于 70 的成绩记录:
```
SELECT
selection.sno AS 学号,
SUM(selection.grade) AS 总分,
AVG(selection.grade) AS 平均分,
COUNT(*) AS 课程门数,
MAX(selection.grade) AS 最高分,
MIN(selection.grade) AS 最低分
FROM
selection
INNER JOIN course ON selection.cno = course.cno
WHERE
selection.grade >= 70
GROUP BY
selection.sno
HAVING
AVG(selection.grade) > 70;
```
该 SQL 语句使用 INNER JOIN 连接选课表和课程表,过滤出成绩大于等于 70 分的记录,按照学号分组,统计总分、平均分、课程门数、最高分、最低分,并筛选出平均分大于 70 的记录。
阅读全文