sql语句中的遇到的一个问题
这是我写的一条sql语句
select max(sal) from emp
where empno not in (select mgr from emp );
结果是:
MAX(SAL)
----------
在mgr字段中存在null值
改过sql以后,
select max(sal) from emp
where empno not in (select mgr from emp where mgr is not null );
结果是:
MAX(SAL)
----------
1600
什么原因,为什么有空值就查不上来
select max(sal) from emp
where empno not in (select mgr from emp );
结果是:
MAX(SAL)
----------
在mgr字段中存在null值
改过sql以后,
select max(sal) from emp
where empno not in (select mgr from emp where mgr is not null );
结果是:
MAX(SAL)
----------
1600
什么原因,为什么有空值就查不上来
...全文
相关推荐
SQL高级查询语句关键时候解决问题的SQL语句
SQL高级查询语句 有用的 关键时候解决问题的SQL语句 SQL高级查询语句 有用的 关键时候解决问题的SQL语句
SQL精典问题与语句
sql递归语句、個人所得稅計算的精典方法、行轉列語句、將縱向數據橫向排列、交叉表(行轉列)的動態方法等,个人整理的对存储过程开发者极为有用。
关于SQL语句中的AND和OR执行顺序遇到的问题
在SQL语句中的AND和OR执行顺序中我们经常会遇到一些问题,下面有简单的解决方法,小编来和大家一起来看看
Mysql运行SQL语句中文乱码问题的解决方法
网上很多关于mysql运行sql语句乱码的解决方法,都没有很好的解决这个问题,经本人不断努力,不断尝试,终于解决这个问题。如有这个问题出现,可参考此文档。
SQL Server中的SQL语句优化与效率问题
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name=’zhangsan’ and tID > 10000 和执行: select * from table1 where tID > 10000 and name=’zhangsan’ 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看有几个name=’z


基础和管理
