1mysql在students表中和grades表中和enrollments表中查询学生的姓名专业和所选课程名和教授2计算每位学生的平均成绩,并从高到低排序
时间: 2024-11-29 11:37:01 浏览: 0
MySql练习4:创建学生表和成绩表索引并查看索引.zip
在MySQL中,要查询学生的信息以及他们的课程和教授,你需要使用JOIN语句连接三个表:students、grades(假设包含学生ID和课程分数)以及enrollments(包含学生ID、课程ID和教授名称)。这里是一个基本的查询示例:
```sql
SELECT s.name AS student_name, s.major, g.course_name, e.professor
FROM students s
JOIN enrollments e ON s.ID = e.student_id
JOIN grades g ON e.course_id = g.course_id;
```
这将返回每个学生的姓名、专业、他们选择的课程名称以及对应的教授。
要计算每位学生的平均成绩并按降序排列,还需要另外一次JOIN,然后使用AVG函数计算平均分,并结合ORDER BY语句:
```sql
SELECT s.ID, s.name, s.major, AVG(g.grade) AS average_grade
FROM students s
JOIN enrollments e ON s.ID = e.student_id
JOIN grades g ON e.course_id = g.course_id
GROUP BY s.ID, s.name, s.major
ORDER BY average_grade DESC;
```
这会给出每位学生的ID、姓名、专业以及他们的平均成绩,成绩是按照平均分从高到低排序的。
阅读全文