多表查询列出每门课程的课程号,课程名,选课人数,平均分
时间: 2023-09-23 12:12:08 浏览: 631
假设有两个表,一个叫做`courses`,包含课程的基本信息,例如课程号和课程名;另一个叫做`scores`,包含每个学生的成绩信息,例如学生ID、课程号和分数。可以使用以下SQL语句进行多表查询:
```
SELECT
courses.course_id,
courses.course_name,
COUNT(scores.student_id) AS student_count,
AVG(scores.score) AS average_score
FROM
courses
INNER JOIN scores ON courses.course_id = scores.course_id
GROUP BY
courses.course_id,
courses.course_name;
```
解释一下这个SQL语句:
1. `SELECT`语句中选择需要查询的列,包括`courses.course_id`(课程号)、`courses.course_name`(课程名)、`COUNT(scores.student_id)`(选课人数)和`AVG(scores.score)`(平均分)。
2. `FROM`语句中指定查询的表,包括`courses`和`scores`。
3. `INNER JOIN`用于将两个表联接起来,`ON`后面的条件是联接条件,即`courses.course_id = scores.course_id`,表示将两个表中课程号相同的行进行联接。
4. `GROUP BY`语句用于按照课程号和课程名进行分组,并计算每组中的选课人数和平均分。
阅读全文