比如A表deptno有值
1,2,3,4
A表deptno有值
 2,3,4,5
这样
where a.deptno != b.deptno;不就有值了吗?

解决方案 »

  1.   

    比如A表deptno有值
    1,2,3,4
    B表deptno有值
     2,3,4,5
    这样
    where a.deptno != b.deptno;不就有值了吗?
      

  2.   

    ru guo liang zhang biao de deptno dou shi 
    1,2,3,4yin gai cha bu chu ji lu!ke shi xian zai de jie guo shi you ji lu!
      

  3.   

    楼主的思路不对。
    肯定是有值的。
    应该用NOT EXISTS
      

  4.   

    select distinct a.deptno 
         from dept a
         where not exists(select deptno from emp where deptno = a.deptno)
      

  5.   

    select distinct a.deptno 
         from dept a,emp b
         where 1 = 2;
    这样保证没有值返回.
      

  6.   

    我晕!搂主,是不是不但有记录,而且很多呀。当然会很多了,因为你用了联合查询(就是从多个表中查询数据)where却没有用等号的条件约束。建议楼主看看联合查询是怎么回事。
    都是1,2,3,4会出现
    a.depno b.depno
    -------------------------------
    1,2
    1,3
    1,4
    2,1
    2,3
    2,4
    3,1
    3,2
    3,4
    4,1
    4,2
    4,3
    这些记录,也就是说,只要a.deptno不等于b.deptno就会查询出来。
      

  7.   

    直接使用!=就产生笛卡尔积,如上面所说,应该用not exists