< (11) 查询选修全部课程的学生姓名,相当于查询这样的学生,没有一门课程是他不选的
时间: 2023-11-24 13:31:21 浏览: 100
学生选修课查询系统
以下是查询选修全部课程的学生姓名的 SQL 语句:
```
SELECT DISTINCT s.name
FROM student s
WHERE NOT EXISTS (
SELECT c.cno
FROM course c
WHERE NOT EXISTS (
SELECT sc.cno
FROM sc
WHERE sc.sno = s.sno AND sc.cno = c.cno
)
);
```
解释:首先在 student 表中查询学生姓名,然后使用 NOT EXISTS 子查询,查询所有课程中没有一个课程是该学生没有选修的,即该学生选修了所有的课程。最后使用 DISTINCT 去重。
阅读全文