LeetCode-SQL刷题笔记01-查询列中含有null值的处理办法
最近发现SQL很久没用了,知识点也忘了很多。所以现在重新开始刷题,回顾一下以前的知识。在这里就记录一下刷题中值得记录的题。
题目:584.寻找用户推荐人
我的错误写法:
select name from customer where referee_id!=2
用referee_id!=2,只能查出数值类型不等于2的name,而对于数值为NULL的name则不能查出
知识点:
①SQL使用的是三值逻辑,即TRUE,FALSE,UNKNOWN。而对应使用where而言,查询结果只会返回为true的行。
②当任何值与null做比较时,返回的结果都是unknown。对于含有null的列,我们可以通过is null ,not is null 来进行比较。
改进后的写法:
select name from customer where referee_id!=2 or referee_id is null
sql的解法有很多,这里就写一个最简单的写法。