Mysql中的Null值

2019-12-19 21:14:43 浏览数 (2)

Mysql中的Null值

在大对数编程语言中,逻辑表达式的值只有两种:True,False。但是在关系型数据库中的逻辑表达式并非两种,而是三值逻辑的表达式(True、False、Unknown)。

代码语言:javascript复制
select null = 1;

执行结果:

代码语言:javascript复制
 ---------- 
| null = 1 |
 ---------- 
|     NULL |
 ---------- 
1 row in set (0.01 sec)
代码语言:javascript复制
select null = null;

执行结果:

代码语言:javascript复制
 ------------- 
| null = null |
 ------------- 
|        NULL |
 ------------- 
1 row in set (0.00 sec)

出乎意料的是null = 1返回的是null,而null = null返回的也是null,而不是1。对于返回值是null的情况,应该将它视为unknown的情况,即表示未知。在不同的语句下unknown表示不同的值

ON

unknown被视为False

GROUP BY

group by会把null值分到一组

ORDER BY

order by会把null值排列在一起

0 人点赞