目前数据库中有三个表

EMPLOYEES表 DEPARTMENTS表 LOCATIONS表
employee_id department_id location_id
first_name department_name street_address
last_name manager_id postal_code
email location_id city
phone_number state_province
job_id country_id
salary
commission_pct
manager_id
department_id
#现在要求:
#查找公司管理者的last_name。已知manager_id有为null的数据
SELECT last_name
FROM employees
WHERE employee_id IN ( SELECT manager_idFROM employees);

这里找出了所有公司管理者的名字(18行数据)。 ​ 已知employees中共107行数据 ​ 现要查出这18人以外的人,理论上有89人。

#已知manager_id有为null的数据
SELECT last_name
FROM employees
WHERE employee_id NOT IN ( SELECT manager_idFROM employees);

可见,查询结果为空。

原因: 使用not in 的时候,如果not in后面的选项中有null,不会查询出来任何数据。sql语句本身直接返回false

#举例
SELECT employee_id,last_name
FROM employees
WHERE employee_id NOT IN (NULL,101,102);
#该语句返回空集

举例的查询语句等价于

SELECT employee_id,last_name
FROM employees
WHERE employee_id!= NULL AND employee_id!=101 AND employee_id!=102;

WHERE中的条件永远返回null

null不能参与比较运算符,即与任何数据比较结果都为null,

比较结果分为true、false、null,只有结果为true时候,系统才认为匹配成功并返回记录,

MySQL子查询的空值问题相关推荐

  1. 浅谈 MySQL 子查询及其优化

    2019独角兽企业重金招聘Python工程师标准>>> 使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动 ...

  2. mysql子查询缺点_[慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时

    它的执行计划如下,请注意看关键词"DEPENDENT SUBQUERY": id  select_type         table   type            poss ...

  3. MySQL 子查询 嵌套查询

    MySQL 子查询 嵌套查询 一.带IN关键字的子查询 二.带EXISTS关键字的查询 三.带ANY.SOME 关键字的子查询 四.带ALL 关键字的查询 自言自语 一.带IN关键字的子查询 使用IN ...

  4. mysql子查询分为几种方法_MYSQL子查询的5种形式

    mysql从4.1版开始支持子查询功能,在此版本前,可以用join写连表查询来进行替代,但不推荐这么写,相当麻烦,mysql子查询的几种常 见写法: 1.select * from xxx where ...

  5. MySQL子查询操作实例详解

    本文实例总结了MySQL子查询操作.分享给大家供大家参考,具体如下: 定义两个表tb1和tb2 ? 1 2 CREATE table tbl1 ( num1 INT NOT NULL); CREATE ...

  6. mysql 子查询 as_mysql子查询

    更多关于LeetCode习题总结请翻阅我的博客: LeetCode - mysql子查询[184. 部门工资最高的员工] 子查询 一.按查询结果分类: 1.作为数据源使用: 2.作为选择条件使用: 二 ...

  7. 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)

    三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...

  8. MySQL子查询的优缺点_浅谈mysql的子查询

    浅谈mysql的子查询 mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,你可以点击这里 ,这里来获得一些信息,mysql在处理子查询的时候,会 ...

  9. MySQL——子查询用法

    文章目录 MySQL--子查询用法 1.子查询概述 2.子查询的使用 2.1.单行子查询 2.2.多行子查询 2.3.相关子查询 子查询练习题 MySQL--子查询用法 1.子查询概述 子查询简介 子 ...

最新文章

  1. 如何设置可见性Android软键盘
  2. RIP 注意事项、学习要点及其总结
  3. dreamweaver中的JSP的编程环境配置
  4. php div中的字上下居中,Div垂直居中效果怎么实现
  5. 练习. SQL--选修课程练习
  6. typora export to word is excellent
  7. 从零开始数据科学与机器学习算法-学习向量量化(Learning_Vector_Quantization)-08
  8. POJ - 3268 Silver Cow Party(最短路)
  9. 单片机断电后静态存储区里面还有数据吗_单片机启动流程和存储架构详解
  10. [vue] 删除数组用delete和Vue.delete有什么区别?
  11. platform设备的添加
  12. 从高斯消元到矩阵的三角分解(LU)
  13. 语音识别中的MFCC的提取原理和MATLAB实现
  14. [转载] Java基础之构造方法(函数)何时被调用
  15. 数据结构与算法C语言版—— 数据结构的详细介绍
  16. RISV-Reader小结
  17. 如何求有序数组绝对值最小的数
  18. python学习笔记之pyinstaller failed to execute script问题
  19. java必备知识进阶
  20. SpringBoot 国际化实现跨地区的多语言切换

热门文章

  1. Selenium-Switch与SelectApi接口详解
  2. 【Fuzzy】模糊专家系统(3)
  3. LED基本知识
  4. 【keras学习——Flatten层的用法】
  5. Ubuntu 安全重启
  6. 使用assembly打包
  7. C# / VB / LabVIEW / VC / Python 上位机使用S7-TCP协议与西门子PLC进行网口通信的教程 (Win/Linux)
  8. 学好c语言的用处,杭州学习c语言用处
  9. 年度重磅 | 增长黑盒2021消费品牌私域研究报告
  10. commands out of sync mysql_MySQL问题一则:Commands out of sync; you can't run this command now以及相关问题...