查询SC表中(每)各个学号及相应的选课门数
时间: 2023-12-16 10:04:50 浏览: 38
可以使用如下的SQL查询语句:
```sql
SELECT 学号, COUNT(*) AS 选课门数
FROM SC
GROUP BY 学号;
```
该查询语句会对表SC中的每一个学号进行分组,并统计每个学号对应的选课门数。最终的查询结果会显示每个学号以及相应的选课门数。
相关问题
在“sc”表中查询选修了两门及以上课程的学生学号和选课数
查询语句如下:
```
SELECT sc.sno, COUNT(*) as num
FROM sc
GROUP BY sc.sno
HAVING COUNT(*) >= 2;
```
解释:
首先从 `sc` 表中选取学号 `sno` 和对应的选课成绩信息,然后按照学号分组,统计每个学生选课数目(即分组后每个学生对应的记录数),并将其命名为 `num`。最后通过 `HAVING` 子句筛选出选课数目大于等于 2 的学生,即选修了两门及以上课程的学生。
查询所有同学的学号、姓名、选课门数、平均成绩。
你可以使用下面这条 SQL 语句来查询所有同学的学号、姓名、选课门数、平均成绩:
```
SELECT s.id, s.name, COUNT(sc.course_id) AS num_courses, AVG(sc.score) AS avg_score
FROM students s
LEFT JOIN score sc ON s.id = sc.student_id
GROUP BY s.id, s.name;
```
这条语句中,我们使用了 `LEFT JOIN` 来连接学生表和成绩表,使用 `COUNT` 函数来计算每个学生选了多少门课程,使用 `AVG` 函数来计算每个学生的平均成绩,最后使用 `GROUP BY` 子句来按照学号和姓名分组。