求计算机系选修课程超过两门课的学生的学号姓名平均成绩,并按平均成绩从高到低排序
时间: 2024-12-11 15:31:58 浏览: 13
在数据库查询中,要获取计算机系学生中选修课程超过两门并且按照平均成绩从高到低排序的信息,通常需要涉及多表联查,假设我们有两个表:`Students` 和 `Courses`,其中 `Students` 表包含学生的学号 (`StudentID`)、姓名 (`Name`) 等信息,`Courses` 表记录了学生选课的情况,包括学号和课程 ID。
SQL 查询可能会类似这样:
```sql
SELECT s.StudentID, s.Name, AVG(c.CourseScore) as AverageGrade
FROM Students s
JOIN Courses c ON s.StudentID = c.StudentID
GROUP BY s.StudentID, s.Name
HAVING COUNT(c.CourseID) > 2
ORDER BY AverageGrade DESC;
```
这个查询做了以下几件事:
1. 使用 INNER JOIN 将学生和课程关联起来。
2. GROUP BY 学生的学号和姓名,以便对每个学生的所有课程成绩求平均。
3. HAVING 子句筛选出选修课程超过两门的学生。
4. 最后,ORDER BY 按照平均成绩降序排列结果。
阅读全文