标签:student 解释 排除 查询 sel sql 其他 分析 实例
查询选修了全部课程的学生姓名
:student 是学生表 course 是选课表 sc 是课程表
select sname
from student
where not exists
(select *
from course
where not exists
(select *
from sc
where sno =student.sno
and cno=course.cno)
如何解释呢?我只是约约的明白,但就是给别人解释不明白。希望高手给解释一下。
select *
from course
where not exists
(select *
from sc
where sno =student.sno
and cno=course.cno)
这一段计算得出 某学生存在没有选的课程
如果外层再加上 一个不存在 没有选的课程。那就是全选了
负负得正,不存在任何一科没有选修的,也就是每科都选修了
查询选修了全部课程的学生姓名_如何解?-MS-SQLServer/应用实例
标签:student 解释 排除 查询 sel sql 其他 分析 实例
原文地址:http://www.cnblogs.com/jiao-/p/7301018.html