书上说EXIST代表存在量词.带有EXIST谓词的子查询不返回任何实际数据,他只产生ture或者false  那么下面这个列子  查询未修1号课程的学生姓名 
 select name from trstudent where not exists
      (select * from trscorce where studentid=trstudentid and courseID=1)意思是()内只返回ture或者false?? 
那么整句不就变成了 select name from trstudent where ture ? 那是什么意思啊?

解决方案 »

  1.   

    当where后面的句子成立的时候,就做前面的
      

  2.   

    当where后面的句子成立的时候,就做前面的 什么叫做前面的? 做select name from trstudent? 这个怎么做?
      

  3.   

    这个等价于select name from trstudent where trstudent.id not in
          (select * from trscorce where studentid=trstudent.id and courseID=1)
      

  4.   

    (select * from trscorce where studentid=trstudentid and courseID=1)
    --有记录就返回True,否则返回false