---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#
它只是作个判断,并不返回结果集,只返回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#
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货