检索学生都选修的课程的课程号和课程名,sql语句并给出注释
时间: 2023-06-04 10:06:12 浏览: 1096
学生选修课查询系统
好的,以下是您要求的 SQL 语句以及注释:
```sql
SELECT CourseID, CourseName -- 查询所选所有学生都选修的课程编号和课程名
FROM Course -- 从课程表中查询
WHERE CourseID IN (
SELECT CourseID -- 使用子查询,查询所有学生都选修的课程编号
FROM SC -- 学生选课表
GROUP BY CourseID
HAVING COUNT(DISTINCT StudentID) = (
SELECT COUNT(*) -- 使用嵌套子查询查询学生总数
FROM Student
)
);
```
注释:
- 从课程表中查询所选所有学生都选修的课程编号和课程名
- 使用子查询查询所有学生都选修的课程编号
- 学生选课表
- 使用 GROUP BY 对 CourseID 进行聚合
- HAVING 子句过滤只有所有学生都选修的课程编号
- 使用嵌套子查询查询学生总数
阅读全文