这个查询为什么会有值? 比如A表deptno有值1,2,3,4A表deptno有值 2,3,4,5这样where a.deptno != b.deptno;不就有值了吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如A表deptno有值1,2,3,4B表deptno有值 2,3,4,5这样where a.deptno != b.deptno;不就有值了吗? 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! 楼主的思路不对。肯定是有值的。应该用NOT EXISTS select distinct a.deptno from dept a where not exists(select deptno from emp where deptno = a.deptno) select distinct a.deptno from dept a,emp b where 1 = 2;这样保证没有值返回. 我晕!搂主,是不是不但有记录,而且很多呀。当然会很多了,因为你用了联合查询(就是从多个表中查询数据)where却没有用等号的条件约束。建议楼主看看联合查询是怎么回事。都是1,2,3,4会出现a.depno b.depno-------------------------------1,21,31,42,12,32,43,13,23,44,14,24,3这些记录,也就是说,只要a.deptno不等于b.deptno就会查询出来。 直接使用!=就产生笛卡尔积,如上面所说,应该用not exists powerdesigner9.5 拷贝表后,表名后边都加了2,怎样不出现这中情况. 函数内无法访问其它用户的名数据 sql查询 提问"Oracle的类似表做成"的问题? 特定行之间求和 怎样再SQL中建立连接服务器连接到ORCALE??各位大侠,急急急!!! 用EXP导出数据显示 导出成功终止,但出现警告。怎么显示警告? 有关多线程的问题!!! ado如何执行oracle 的function? oracle字段加1 100分 可以在嵌入式SQL中添加作业吗? 大家帮我看看,下面的存储过程为什么编译能过不。
1,2,3,4
B表deptno有值
2,3,4,5
这样
where a.deptno != b.deptno;不就有值了吗?
1,2,3,4yin gai cha bu chu ji lu!ke shi xian zai de jie guo shi you ji lu!
肯定是有值的。
应该用NOT EXISTS
from dept a
where not exists(select deptno from emp where deptno = a.deptno)
from dept a,emp b
where 1 = 2;
这样保证没有值返回.
都是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就会查询出来。