---LZ,这里怎么也开了个贴啊?NOT EXISTS的语义是什么?
它只是作个判断,并不返回结果集,只返回TRUE OR FALSE
两个NOT EXISTS,其实就(双重否定=肯定)* 并没有函数,你了可以用1,2 这样去表示都是可以的上面的第一个语句可改成这样,可能会让你更加好理解点,
你理解了第一个那么第二个和第三个自然就明白了.....
-----1、改为下面这句也行
Select 
     S.SName
From 
     S 
Inner Join
    (Select 
           S#,
           Count(C#) As '有选修课程有成绩的条数' 
     From 
           SC 
     Group By 
           S# 
     Having Count(C#)=(Select Count(C#) From C)  
     /*这句意思,统计出总共有多少门课程,
     如果SC表某个同学有成绩课程的条数等于C表的总课程条数的话,那么他就是选修了全部课程的同学
     */
     ) As B
On S.S#=B.S#