SQL判断不等于的5种方法和判断非空的11种方法
做牛客练习题的时候遇到的
·
做牛客练习题的时候遇到的
描述
题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据
示例:user_profile
id | device_id | gender | age | university | province |
1 | 2138 | male | 21 | 北京大学 | Beijing |
2 | 3214 | male | 复旦大学 | Shanghai | |
3 | 6543 | female | 20 | 北京大学 | Beijing |
4 | 2315 | female | 23 | 浙江大学 | ZheJiang |
5 | 5432 | male | 25 | 山东大学 | Shandong |
根据输入,你的查询应返回以下结果:
device_id | gender | age | university |
2138 | male | 21 | 北京大学 |
6543 | female | 20 | 北京大学 |
2315 | female | 23 | 浙江大学 |
5432 | male | 25 | 山东大学 |
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'
-
'IS NULL':用于检查一个值是否为NULL。它是用来判断一个值是否为NULL的标准方法。例如,可以使用'column_name IS NULL'来检查一个列的值是否为NULL。
-
'= NULL':这种写法是错误的。在SQL中,NULL是一个特殊的值,表示缺少或未知的数据。使用'= NULL'进行比较是无效的,因为NULL不等于任何值,甚至不等于它自身。因此,使用'= NULL'将总是返回false。
总结:使用'IS NULL'来检查值是否为NULL,而不是使用'= NULL'。正确的写法是'column_name IS NULL'。
更多推荐
已为社区贡献1条内容
所有评论(0)