exists(select null) 
这个结果永远都存在.

解决方案 »

  1.   

    select null  一直存在,当然全出来
      

  2.   

    理解exists跟三值逻辑很重要。
      

  3.   

    select null和select 1<>1不是一个概念,null也是一个数据也是一个存在的值
      

  4.   

    select null,@@rowcountselect null where 1<>1
    select  @@rowcount
                 
    ----------- -----------
    NULL        1(1 行受影响)
    -----------(0 行受影响)
    -----------
    0(1 行受影响)
      

  5.   

    按楼上jinjazz的解释,exists(select null)就好理解了,因为select null也是存在一行,所以exists(select null)永远是True。谢谢了!