LeetCode 584. 寻找用户推荐人
直达
给定表 customer ,里面保存了所有客户信息和他们的推荐人。
id | name | referee_id |
---|---|---|
1 | Will | NULL |
2 | Jane | NULL |
3 | Alex | 2 |
4 | Bill | NULL |
5 | Zack | 1 |
6 | Mark | 2 |
写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2。
对于上面的示例数据,结果为:
name |
---|
Will |
Jane |
Bill |
Zack |
我的代码
select name from customer where (not(referee_id=2) or referee_id is null)
一开始直接写的!(referee_id=2)
,不对,因为NULL不能与数字作等于比较
后来改成referee_id=null,语句不对,因为什么情况下null都不能用等号
要写is null
其他思路
由于null不能比较,所以可以多一步把null转成0(当然不对原始数据做改动)
select name
from customer
where ifnull(referee_id,0)<>2
标签:customer,referee,name,sql,NULL,MySQL,null,id
From: https://www.cnblogs.com/DXD-blog/p/16973705.html