wrg0709 发表于 2008-4-2 20:08

问下关于exists的问题

--求选修了C2课程的学生姓名
select 姓名
from 学生                       
where exists(select *
             from 选课
             where 学生.学号=选课.学号 and 课程号='c2')

这个 exists是检测行的存在。在这有什么意义,它只是判断了该这几行存在不 没有说要取那几行

makebest 发表于 2008-4-2 21:24

道理很简单:存在即选修,选修即存在

zaroty 发表于 2008-4-2 21:45

对此不太 了解。希望有详细的解释。。。。

wrg0709 发表于 2008-4-4 09:35

能否解释详细点

makebest 发表于 2008-4-4 20:24

怎么听不懂呢?题目的要求是:选修了C2课程的学生姓名
exists 是判断在选修表中有没有记录,而不是要取记录内容

论坛元老 发表于 2008-4-10 15:04

exists 不返回任何数据
只返回 true和false
当为true时
说明选修了
否则没选修

lff642 发表于 2008-4-25 17:35

上面的应该是返回有选修C2课程的,学号

页: [1]

编程论坛