SQL> select*from aa;
ID NAME
--------------- ------------------------------------
11 aa
22 bb
33
SQL> select *from bb;
ID NAME
-------------- ------------------------------------
33 cc
11 aa
22 bb
SQL>select*from bb where name not in (select name from aa);
No rows selected
ID是number类型,name是varchar2(10)类型,为什么查询没有任何返回,请列出可能的原因?
ID NAME
--------------- ------------------------------------
11 aa
22 bb
33
SQL> select *from bb;
ID NAME
-------------- ------------------------------------
33 cc
11 aa
22 bb
SQL>select*from bb where name not in (select name from aa);
No rows selected
ID是number类型,name是varchar2(10)类型,为什么查询没有任何返回,请列出可能的原因?
解决方案 »
- 在线等!!!OCIFetchInto: ORA-01001: 无效的游标
- sqlloader和import有什么相同点和区别啊
- oracle如何查询某个字段中含有%字符的数据
- oracle存储过程求教
- 关于oracle读取远程文件服务器中的csv文件的问题。。。
- 〔各位老大帮帮忙阿)数据库文件都存在,重装操作系统和oracle后,如何连接并打开数据库
- 各位大侠,orcale里面时间差怎么表示?0.003表示是5分钟?是怎么计算的
- 9i,怎样建一个自己的表空间?在SQL*PLUS怎么建?在console中能建吗?建库的时候好像有USER空间吗?但我在console中的方案中怎么没看到呢
- 征求记录ID标志设计方案
- 简单的触发器问题
- 在关联两张表的时候,从数据库运行效率方面考虑,建主外键效率高还是建中间表效率高?
- ORACLE ORA-02097:ORA-00439:的问题
null值是不能用in来操作的。
此外,这种情况,用左连接效率更高select bb.* from aa,bb
where bb.name = aa.name(+)
and aa.name is null
(select 1 id,'a' name from dual
union all
select 2 id,'b' name from dual
union all
select 3 id,null name from dual
),b as(select 1 id,'a' name from dual
union all
select 2 id,'b' name from dual)
select * from a where not exists (select 1 from b where a.name = b.name);