Mysql的NULL的一个注意点

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

今天看到一个问题:

select a.* from a where (a.id not in (NULL));

这个sql语句会返回什么?

刚开始以为是返回所有item,但是实际运行下返回是返回empty set。

看了下手册:

http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html

判断一个字段是否是NULL只能使用IS NULL或者IS NOT NULL来判断,不能使用比较符号(=,<,>, !=)来判断

任何数字和NULL进行比较符号结果是NULL

Image

为什么会这么设计呢?NULL是代表无定义的值(a missing unknown value),和一个无定义的值比较大小是没有意义的,也是“无法比较的”,或者说,比较结果是不定的(NULL)。

好吧~就这么理解了。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
关系型数据库 MySQL C++
VS 2015 使用 MySQL
VS 2015 使用 MySQL
46 0
|
7月前
|
SQL 关系型数据库 MySQL
mysql
```sql 使用MySQL查询比数学系所有学生年龄大的学生姓名和所在系。代码如下: use teachingdb; SELECT sname, sdept, birthday FROM student WHERE birthday &lt; ALL (SELECT birthday FROM student WHERE sdept = &#39;数学&#39;); ``` 摘要:该任务是查询比数学系学生年龄大的所有学生信息,包括姓名和所在系。通过在SQL中使用ANY/ALL操作符与子查询结合,这里选用ALL与MAX()函数等效,找出比数学系学生最晚出生日期还要早的所有学生。
36 0
|
存储 SQL Oracle
|
SQL 存储 关系型数据库
mysql常见错误汇总
mysql常见错误汇总
178 0
|
SQL 关系型数据库 MySQL
【必知必会的MySQL知识】②使用MySQL
【必知必会的MySQL知识】②使用MySQL
111 0
【必知必会的MySQL知识】②使用MySQL
|
SQL 关系型数据库 MySQL
Mysql
笔记
127 1
|
SQL 运维 NoSQL
mysql—day01-mysql
MySQL 数据库管理员:
141 0
|
关系型数据库 MySQL
|
SQL 关系型数据库 MySQL
下一篇
无影云桌面