oracle中all的问题? select * from emp where emp.sal>all(select 1 from dual where 1<>1);为什么这条语句会返回所有emp中的记录???难道emp.sal>all(没有查到记录) 的时候是true? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题就是 emp.sal 和 null 那个 大?select * from emp where emp.sal> null > null 就不對啦, null 數據是不接受 比較條件的。例如(= >,<, like) 这个all里面不能理解为nullselect * from emp where emp.sal>all(null);PERSONID SAL DEPTNO---------- ---------- ----------select * from emp where emp.sal>all(select 1 from dual where 1<>1); PERSONID SAL DEPTNO---------- ---------- ---------- 1 2000 1 2 1500 1 3 2500 1 4 3000 1 5 2000 2 6 1500 2 7 2500 2 8 3000 2 9 2000 3 10 1500 3 11 2500 3 12 3000 3只要all里面没有一条记录是满足>emp.sal的话,就可以取出改记录,现在all里面没记录,所以所有记录都可以取出 sql server 2005 数据 导入 oracle 求救使用pl/sql在oracle9i和oracle7.3 database link 游标返回值的问题 大家帮忙看看这个存储过程改的对不对 如何将多个dbms_output.put_line在同一行输出? dos下启动oracle失败? 请问各位高手,这样的问题ORACLE能办吗? 游标问题 在线等,谢谢:) 为什么登陆manager server是总是主机无效? 请教关于生成流水号的初级问题 找不到表或者视图(在线等) oracle tuxedo tpopen()的问题
select * from emp where emp.sal> null
null 數據是不接受 比較條件的。例如(= >,<, like)
PERSONID SAL DEPTNO
---------- ---------- ----------select * from emp where emp.sal>all(select 1 from dual where 1<>1);
PERSONID SAL DEPTNO
---------- ---------- ----------
1 2000 1
2 1500 1
3 2500 1
4 3000 1
5 2000 2
6 1500 2
7 2500 2
8 3000 2
9 2000 3
10 1500 3
11 2500 3
12 3000 3只要all里面没有一条记录是满足>emp.sal的话,就可以取出改记录,
现在all里面没记录,所以所有记录都可以取出