数据库
首页 > 数据库> > SQL-三值逻辑和NULL

SQL-三值逻辑和NULL

作者:互联网

当表中存在NULL时,查询结果有时会与我们想的不一样

 

 我们想查询z 是0 或者不是0的key(现实逻辑是,z是0或者不是0,二者必居其一)

SELECT `key`
FROM table
WHERE `z` = 0 OR
           `z` <> 0;

查询结果:

 

 结果中并没有D!必须增加一个条件:

SELECT `key`
FROM `greatests`
WHERE `z` = 0 OR
           `z` <> 0
      OR `z` IS NULL;

才能查询到正确结果:

 

 

以上证明关系模型并不是描述现实世界的模型,而是用于描述人类认知状态的核心(知识)的模型。

关于NULL,我们需要知道以下知识:


UNKNOWN、FALSE、TRUE真值表

AND:

FALSE>UNKNOWN>TRUE

OR:

TRUE>UNKNOWN>FALSE 

 

标签:FALSE,三值,UNKNOWN,查询,key,SQL,NULL,TRUE
来源: https://www.cnblogs.com/fancy2022/p/15894314.html