这是我写的一条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
什么原因,为什么有空值就查不上来
这里有空值,整个值为就是false
select max(sal) from emp
where empno not in (select mgr from emp where mgr is not null );
一个表里面查?not in在两个表之间才能用的把,感觉这个关系存在两个表:employee和manager,一对多的关系select max(sal) from emp
where empno not in (select mgr from manager );
select max(sal) from emp
where empno not in (select empno from emp where mgr is not null );
刚好你的empno应该是不允许为空的,主键吗?
关系清楚了,可以避免null的问题