SQL中not in与null值的具体使用

 更新时间:2024年01月02日 09:25:03   作者:Stephen6Yang  
本文主要介绍了SQL中not in与null值的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

A not in B的原理是拿A表值与B表值做是否不等的比较, 也就是a != b. 在sql中, null是缺失未知值而不是空值。

当你判断任意值a != null时, 官方说, “You cannot use arithmetic comparison operators such as =, <, or <> to test for NULL”, 任何与null值的对比都将返回null. 因此返回结果为否,这点可以用代码 select if(1 = null, ‘true’, ‘false’)证实.

举个例子

在这里插入图片描述

select id,case when p_id is null then 'Root' 
when id not in (select p_id from tree) then 'Leaf' end type
else 'Inner' 
from tree

这种写法会导致Leaf结果完全看不到

从上述原理可见, 当询问 id not in (select p_id from tree)时, 因为p_id有null值, 返回结果全为false, 于是跳到else的结果, 返回值为inner. 所以在答案中,leaf结果从未彰显,全被inner取代.

到此这篇关于SQL中not in与null值的具体使用的文章就介绍到这了,更多相关SQL not in与null值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL语句如何实现超简单的多表查询

    SQL语句如何实现超简单的多表查询

    多表查询就是在一条查询语句中,从多张表里一起取出所需的数据,如果要想进行多表查询,下面这篇文章主要给大家介绍了关于SQL语句如何实现超简单的多表查询的相关资料,需要的朋友可以参考下
    2022-05-05
  • SQL2000安装后,SQL Server组无项目解决方法

    SQL2000安装后,SQL Server组无项目解决方法

    这篇文章主要介绍了SQL2000安装后,SQL Server组无项目解决方法,需要的朋友可以参考下
    2016-09-09
  • SQLSERVER 临时表和表变量的区别汇总

    SQLSERVER 临时表和表变量的区别汇总

    不管临时表还是表变量都带了表这个词,既然提到表 ,按推理自然会落到某数据库中,如果真在一个数据库中,那自然就有它的存储文件 .mdf和.ldf,那是不是如我推理的那样呢,这篇文章主要介绍了SQLSERVER 临时表和表变量到底有什么区别,需要的朋友可以参考下
    2023-02-02
  • SQL 平均数统计

    SQL 平均数统计

    sql下求列的平均数的语句
    2008-12-12
  • SQL SERVER 2012数据库自动备份的方法

    SQL SERVER 2012数据库自动备份的方法

    这篇文章主要为大家详细介绍了SQL SERVER 2012数据库自动备份的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • SQL字段拆分优化

    SQL字段拆分优化

    sql优化做的好,对程序的运行速度有很大的帮助,本篇文章给大家介绍sql字段拆分优化,需要的朋友一起来学习吧。
    2015-09-09
  • Windows系统彻底卸载SQL Server通用方法(推荐!)

    Windows系统彻底卸载SQL Server通用方法(推荐!)

    卸载SQL是一件很麻烦的事,只要是重装过SQL的人都知道,下面这篇文章主要给大家介绍了关于Windows系统彻底卸载SQL Server通用方法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • sql IDENTITY_INSERT对标识列的作用和使用

    sql IDENTITY_INSERT对标识列的作用和使用

    本文主要介绍了sql IDENTITY_INSERT对标识列的作用和使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • sqlserver 导出插入脚本代码

    sqlserver 导出插入脚本代码

    工作中经常遇到需要将远程客户数据库中的数据复制到本地来测试,下载整个数据库太大了不值得,用下面的脚本可以按指定表生成Insert脚本,将脚本复制到本地来执行,这样快捷了不少
    2012-01-01
  • SQl server索引创建和使用方式

    SQl server索引创建和使用方式

    文章介绍了SQL Server中创建非聚集索引的方法,并通过SQL查询对比了索引前后的性能差异,索引可以提高查询效率,但过多的索引会增加维护成本,文章强调了聚集索引的重要性,并建议在建表时将主键设置为聚集索引
    2026-02-02

最新评论