前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个诡异的SQL返回结果,可作为面试题

一个诡异的SQL返回结果,可作为面试题

原创
作者头像
贺春旸的技术博客
发布2023-12-10 01:09:38
1060
发布2023-12-10 01:09:38
举报
文章被收录于专栏:DBA 平台和工具DBA 平台和工具

复现:

代码语言:sql
复制
CREATE TABLE `t1` (
  `user_id` int DEFAULT NULL,
  `name` varchar(10) DEFAULT NULL,
  `address` varchar(10) DEFAULT NULL,
  KEY `idx_userid` (`user_id`)
) ENGINE=InnoDB
代码语言:sql
复制
mysql> select * from t1;
+---------+------+---------+
| user_id | name | address |
+---------+------+---------+
|      10 | aa   | bj      |
|      20 | bb   | sh      |
|      30 | cc   | NULL    |
+---------+------+---------+
3 rows in set (0.00 sec)

查询不等于台湾的数据

代码语言:javascript
复制
mysql> select * from t1 where address != 'taiwan';
+---------+------+---------+
| user_id | name | address |
+---------+------+---------+
|      10 | aa   | bj      |
|      20 | bb   | sh      |
+---------+------+---------+
2 rows in set (0.06 sec)

mysql> select * from t1 where address <> 'taiwan';
+---------+------+---------+
| user_id | name | address |
+---------+------+---------+
|      10 | aa   | bj      |
|      20 | bb   | sh      |
+---------+------+---------+
2 rows in set (0.00 sec)

按照人类的思维应该返回3条数据,但却返回了2条数据。

结论

在MySQL中,查找“没有特定值的数据”将不包含NULL

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 复现:
  • 结论
    • 在MySQL中,查找“没有特定值的数据”将不包含NULL
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    http://www.vxiaotou.com