当前位置: 代码迷 >> SQL >> 一个容易的SQL语句
  详细解决方案

一个容易的SQL语句

热度:45   发布时间:2016-05-05 12:38:52.0
一个简单的SQL语句.
今天看了cookbook的书.43页中.


SELECT DEPTNO
  FROM DEPT
 WHERE DEPTNO NOT IN (10,50,NULL)
同等于
SELECT DEPTNO
  FROM DEPT
 WHERE NOT (DEPTNO=10 OR DEPTNO=50 OR DEPTNO IS NULL)

这种情况下,当DEPTNO值为50时,表达式的输出为:
not (DEPTNO = 10 OR DEPTNO=50 OR DEPTNO IS NULL)
(FALSE OR FALSE OR NULL)
(FALSE OR NULL)
NULL

这里有疑问.
为什么是
(FALSE OR FALSE OR NULL)
不是
(FALSE OR TRUE OR NULL)吗? 50应该满足第二个条件的啊..
谁能解释一下.
------解决方案--------------------
对,可能是有误
(DEPTNO=10 OR DEPTNO=50 OR DEPTNO IS NULL)
false or true or false
NOT (false or true or false)=false
即=50的记录条件不满足NOT IN (10,50,NULL)
  相关解决方案