注册 登录
编程论坛 SQL Server论坛

问下关于exists的问题

wrg0709 发布于 2008-04-02 20:08, 1328 次点击
--求选修了C2课程的学生姓名
select 姓名
from 学生                       
where exists(select *
             from 选课
             where 学生.学号=选课.学号 and 课程号='c2')

这个 exists是检测行的存在。在这有什么意义,它只是判断了该这几行存在不 没有说要取那几行
6 回复
#2
makebest2008-04-02 21:24
道理很简单:存在即选修,选修即存在
#3
zaroty2008-04-02 21:45
对此不太 了解。希望有详细的解释。。。。
#4
wrg07092008-04-04 09:35
能否解释详细点
#5
makebest2008-04-04 20:24
怎么听不懂呢?题目的要求是:选修了C2课程的学生姓名
exists 是判断在选修表中有没有记录,而不是要取记录内容
#6
论坛元老2008-04-10 15:04
exists 不返回任何数据
只返回 true和false
当为true时
说明选修了
否则没选修
#7
lff6422008-04-25 17:35
上面的应该是返回有选修C2课程的,学号
1