请问高程教程上的:用SQL查询“全部学习全部课程学生姓名”怎么理解?
高程教程268-269:
S(S#,sname,age,sex)
SC(S#,C#,grade)
C (C#,Cname,teacher)
检索学习全部课程的学生姓名 书上写为:
select sname
from s
where not exists
( select *
from c
where not exists
(
select *
from sc
where sc.s#=s.s# and sc.c#=c.c#)
)
我就是不理解,为什么可以这么写,还有这个选择的处理过程是什么(比如说嵌套查询是最内层往外一层一层查询,可是不明白 not exists 到底怎么将查询结果送回外面一层)?谢谢!! 如果分不够可以再加!!!