做牛客练习题的时候遇到的

链接:SQL9 查找除复旦大学的用户信息

描述

题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据

示例:user_profile

iddevice_idgenderageuniversityprovince
12138male21北京大学Beijing
23214male复旦大学Shanghai
36543female20北京大学Beijing
42315female23浙江大学ZheJiang
55432male25山东大学Shandong

根据输入,你的查询应返回以下结果:

device_idgenderageuniversity
2138male21北京大学
6543female20北京大学
2315female23浙江大学
5432male25山东大学

select
  device_id,
  gender,
  age,
  university
from
  user_profile
where
  university not in ('复旦大学')
  # not university = '复旦大学'
  # university <> '复旦大学'
  # university ! = '复旦大学'
  # university not like '复旦大学'

注意:只有<>是标准的sql语法,可以移植,其他的都是oracle平台的特性,移植性较差,所以开发中,尽量使用<>表示不等于

判断非空

university is not null

此外:对于上面所有不等于判断中的查询条件''等价于'null'

''等价于'null'

即判断非空有:is not null一个,五种条件为''的不等于判断,和五种条件为'null'的不等于判断,共11种方法

另外,对于判断等于null不能用'=NULL',只能用'IS NULL'

  1. 'IS NULL':用于检查一个值是否为NULL。它是用来判断一个值是否为NULL的标准方法。例如,可以使用'column_name IS NULL'来检查一个列的值是否为NULL。

  2. '= NULL':这种写法是错误的。在SQL中,NULL是一个特殊的值,表示缺少或未知的数据。使用'= NULL'进行比较是无效的,因为NULL不等于任何值,甚至不等于它自身。因此,使用'= NULL'将总是返回false。

总结:使用'IS NULL'来检查值是否为NULL,而不是使用'= NULL'。正确的写法是'column_name IS NULL'。

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐