【SQL】leetcode 584.寻找用户推荐人(知识点:SQL的三值逻辑)
问题
给定表 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 |
+------+
解答思路
一开始拿到这个题的做法是:
# Write your MySQL query statement below
SELECT name
FROM customer
WHERE referee_id <> 2;
但是结果报错,发现所有referee_id
为NULL
的数据都被忽略了。同样,使用过滤条件 WHERE referee_id <> 2 OR referee_id = NULL
也是错的,为什么?
查了一些解答,总结一下:
首先,来了解一下 MySQL背后的三值逻辑:TRUE
、FALSE
、UNKOWN
。
TRUE
和FALSE
很好理解,真和假。
对于UNKOWN
和NULL
,也有一个非常通俗的解释(来源于文末参考链接中的橡树
【SQL】leetcode 584.寻找用户推荐人(知识点:SQL的三值逻辑)相关推荐
- Leetcode 584 寻找用户推荐人(SQL)
题目: 给定表 customer ,里面保存了所有客户信息和他们的推荐人. +------+------+-----------+ | id | name | referee_id| +----- ...
- leetcode584. 寻找用户推荐人(SQL)
给定表 customer ,里面保存了所有客户信息和他们的推荐人. +------+------+-----------+ | id | name | referee_id| +------+-- ...
- 584. 寻找用户推荐人
SQL架构 给定表 customer ,里面保存了所有客户信息和他们的推荐人. +------+------+-----------+ | id | name | referee_id| +----- ...
- 584 寻找用户推荐人
题目描述: SQL架构 给定表 customer ,里面保存了所有客户信息和他们的推荐人. 写一个查询语句,返回一个编号列表,列表中编号的推荐人的编号都 不是 2. 对于上面的示例数据,结果为: 方法 ...
- Leecode- 584. 寻找用户推荐人
584. 寻找用户推荐人给定表 customer ,里面保存了所有客户信息和他们的推荐人. +------+------+-----------+ | id | name | referee_id| ...
- LeetCode刷题实战584:寻找用户推荐人
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- Leetcode-SQL学习计划-SQL入门-584:寻找用户推荐人
建表语句: Create table If Not Exists Customer (id int, name varchar(25), referee_id int) Truncate table ...
- 【每日SQL打卡】DAY 6丨寻找用户推荐人【难度简单】
活动介绍: 「数据仓库技术交流群」已经正式启动每日SQL打卡,帮助大家扎实基础,努力工作之余,别忘了自我提升. 欢迎报名和邀请小伙伴参与,一个人可能走得很快,但一群人会走得很远.
- oracle某用户历史sql语句,查看oracle 用户执行的sql语句历史记录
select * from v$sqlarea t where t.PARSING_SCHEMA_NAME in ('用户名') order by t.LAST_ACTIVE_TIME desc se ...
最新文章
- ntbackup 创建卷影复制:ffffffff 时出现错误
- http sxyk.cdn_Discuz x3 开启cdn和https后链接修改教程
- Java笔记-连接本地代理服务
- 从Word,Excel中提取Flash
- shell 批量修改文件名字
- python备注(持续更新……)
- pdf转HTML出现乱码,PDF转Word出现乱码解决方法
- 递归算法经典实例python-Python实现经典递归算法
- Beetl的基本用法
- snkrs抽签协议获取
- mysql脏读和幻读区别_数据库的脏读、不可重复读和幻读区别
- 行行出状元,大学毕业生卖煎饼月入13万
- zoc license code
- JavaScript学习笔记[红皮书]
- 博弈论一 [ 巴什博奕 ]
- 解决nvcc --version显示command not found问题
- 软考嵌入式系统工程师的十大建议
- 机器人操作系统ROS—深度相机+激光雷达实现vSLAM建图与导航 转载
- 中兴 s291 android5,ZTE 中兴 S291 天机 Grand SII (S2) 使用小结——刷机需谨慎(附中兴S291刷机全攻略)...
- 【数据结构与算法】第三篇:题型积累