先检索主表S,对每一行再执行SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'对于EXISTS(SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'):
如果检索结果不为null,符合条件,显示结果对于not EXISTS(SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'):
如果检索结果为null,符合条件,显示结果

解决方案 »

  1.   

    存在和不存在的意思。
    exist:子句中只要有一條紀錄返回就為真,否則為假,
    not exist:子句中沒有紀錄返回則為真,否則為假。
      

  2.   

    楼上的有点迷茫吗?
    呵呵
    bxbx
    :)
      

  3.   

    (SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1')
    不为null,显示结果SELECT * FROM S
    XX了??? 楼上的 我估计是谢谢的意思吧 呵呵!
      

  4.   

    同一sql语句中在任何地方都可以通过表名或表的别名来引用表.
    赞成bzszp(SongZip)的说法.这句话等效于:
    select * from s where cno in (select sno from sc where sc.cno='C1')
    但是效率却没有用exists高.