舟山市住房城乡建设局网站,我要用新浪云做网站,asp做的网站如何发布,哈密北京网站建设大家好#xff0c;我是空空star#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目#xff1a;584. 寻找用户推荐人二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目#xff1a… 大家好我是空空star本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目584. 寻找用户推荐人二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目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 |
------二、解题
1.正确示范①
提交SQL
select name
from customer
where
(referee_id2
or referee_id is null
);或者
select name
from customer
where
(referee_id!2
or referee_id is null
);或者
select name
from customer
where
(referee_id not in(2)
or referee_id is null
);运行结果 2.正确示范②
提交SQL
select name from customer
where id not in (
select id from customer
where referee_id2
);运行结果 3.正确示范③
提交SQL
select name
from customer
where ifnull(referee_id,0)!2或者
select name
from customer
where ifnull(referee_id,0)2或者
select name
from customer
where ifnull(referee_id,0) not in (2)运行结果 4.其他 总结 正确示范①思路 限定推荐人编号不等于2或者推荐人编号为NULL 正确示范②思路 先把推荐人编号是2的客户id找出来再从全部客户中把客户id是这部分的客户排除掉 正确示范③思路 先把推荐人编号为NULL的编号转化为0再限定推荐人编号不等于2。 知识点 MySQL中是不等号的意思。 sql中有两种方式表示不等于一种是“(不含引号)另一种是”!(不含引号)用法是一样的。都会排除NULL的行。 IFNULL() 函数用于判断第一个表达式是否为 NULL如果为 NULL 则返回第二个参数的值如果不为 NULL 则返回第一个参数的值。