首页 > 数据库 >SQL - where条件里的!=会过滤值为null的数据

SQL - where条件里的!=会过滤值为null的数据

时间:2023-02-02 10:08:40浏览次数:42  
标签:name Lewis 值为 SQL null where select


!=会过滤值为null的数据

在测试数据时忽然发现,使用如下的SQL是无法查询到对应column为null的数据的:

select * from test where name != 'Lewis';

本意是想把表里name的值不为​​Lewis​​的所有数据都搜索出来,结果发现这样写无法把name的值为null的数据也包括进来。

上面的​​!=​​​换成​​<>​​也是一样的结果,这可能是因为在数据库里null是一个特殊值,有自己的判断标准,如果想要把null的数据也一起搜索出来,需要额外加上条件,如下:

select * from test where name != 'Lewis' or name is null;

虽然这只是个小知识点,不过还是值得记录注意下,以免日后在开发中犯小错误。

null值的比较

这里另外说下SQL里null值的比较,任何与null值的比较结果,最后都会变成null,以​​PostgreSQL​​为例,如下:

select null != null;
select null = null;
select null > 1;
select null <> 1;

以上结果都是null,而不是什么true或者false。另外有些函数是不支持null值作为输入参数的,比如​​count()​​​或者​​sum()​​等。

参考链接

  • ​​Sql 中 不等于’'与 NULL​​


标签:name,Lewis,值为,SQL,null,where,select
From: https://blog.51cto.com/u_15951177/6032792

相关文章

  • sql数据练习
    ---组内排名select*from(selectbrank,keyword,sum(price)as`营业额`,dense_rank()over(partitionbykeywordorderbysum(price)desc)as`排名`fromCityReco......
  • flinksql的初始化
    Mavn的依赖<properties><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.targ......
  • Mysql的锁机制
    Mysql的锁机制是除了Mysql的MVCC机制外,解决并发过程的幻读等问题的另外的方案,当然性能比mvcc机制较低,因为不允许读写操作并列执行,但是一些特殊机制,必须使用Mysql的锁方案锁......
  • sql基本知识
    当我在将大小写忽略的时候之前使用大写的数据库的名字就进不去了,因为系统自动将我打的大写换成了小写.....每一个检查点都会记录他自己的操作对象的信息状态,当共用的是......
  • mysqldump 与 mysqlpump
    简介:mysqldump与mysqlpump都是mysql自带的备份工具。mysqlpump是mysqldump的一个衍生,本身也参考了mydumper的思路,支持了并行导出数据,因此导出数据的效率比mysqldu......
  • 《SQL基础》08. 多表查询
    目录多表查询多表关系一对多多对多一对一多表查询概述分类内连接外连接自连接联合查询子查询分类标量子查询列子查询行子查询表子查询案例多表查询多表关系项目开发中,......
  • Mysql远程连接
    阿里云系统ubuntu16.041.将/etc/mysql/mysql.conf.d/mysqld.cnf中的bind-address注释掉2.进入mysql,输入命令GRANTALLPRIVILEGESON.TO'root'@'%'IDENTIFIEDBY......
  • mysql删库勒索
    看到黑客派里有人遇到了这事,我虽然还没遇到过,还是预防一下比较好1.数据库备份通过写脚本来达成每天备份数据库的习惯2.防止root用户的公网访问,使用SSH的连接方式3.......
  • 携程SQL上线流程优化,如何从源头扼杀慢查询?
    一、背景 慢查询指的是数据库中查询时间超过了指定的阈值的SQL,这类SQL通常伴随着执行时间长、服务器资源占用高、业务响应慢等负面影响。随着携程酒店业务的......
  • Blazor入门100天 : 身份验证和授权 (3) - DB改Sqlite
    目录建立默认带身份验证Blazor程序角色/组件/特性/过程逻辑DB改Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql生成实体类,freesql管理......