(o)查询选修了 4门及以上课程的学生的学号、姓名和选修课程数。数据库
时间: 2023-11-24 17:37:07 浏览: 64
假设您的数据库中有两张表:`students`(学生表)和 `course_selections`(选课表),它们的结构如下:
`students` 表:
| Field | Type |
|-------|------|
| id | int |
| name | varchar |
| ... | ... |
`course_selections` 表:
| Field | Type |
|-------|------|
| id | int |
| student_id | int |
| course_name | varchar |
| ... | ... |
其中,`students`表中的 `id` 字段为学生的学号,`name` 字段为学生姓名,`course_selections`表中的 `student_id` 字段为学生的学号,`course_name` 字段为选修的课程名称。
下面是查询选修了4门及以上课程的学生的学号、姓名和选修课程数的 SQL 语句:
```
SELECT s.id, s.name, COUNT(*) AS course_count
FROM students s
INNER JOIN course_selections cs ON s.id = cs.student_id
GROUP BY s.id, s.name
HAVING COUNT(*) >= 4;
```
该语句使用了 `INNER JOIN` 连接学生表和选课表,通过 `GROUP BY` 分组计算每个学生选修的课程数,然后使用 `HAVING` 子句过滤出选修了4门及以上课程的学生,并返回学生的学号、姓名和选修课程数。
阅读全文