读书人

一个容易的SQL语句

发布时间: 2013-01-13 10:08:55 作者: rapoo

一个简单的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)

读书人网 >SQL Server

热点推荐