详解力扣高频 SQL 50 题之584. 寻找用户推荐人【入门】

传送门:寻找用户推荐人

题目

表: Customer

±------------±--------+

| Column Name | Type |

±------------±--------+

| id | int |

| name | varchar |

| referee_id | int |

±------------±--------+

在 SQL 中,id 是该表的主键列。

该表的每一行表示一个客户的 id、姓名以及推荐他们的客户的 id。

找出以下客户的姓名:

被任何 id != 2 的用户推荐。

没有被 任何用户推荐。

以 任意顺序 返回结果表。

结果格式如下所示。

示例 1:

输入:

Customer 表:

±---±-----±-----------+

| id | name | referee_id |

±---±-----±-----------+

| 1 | Will | null |

| 2 | Jane | null |

| 3 | Alex | 2 |

| 4 | Bill | null |

| 5 | Zack | 1 |

| 6 | Mark | 2 |

±---±-----±-----------+

输出:

±-----+

| name |

±-----+

| Will |

| Jane |

| Bill |

| Zack |

±-----+

解析

题目给了两个满足条件,是矛盾的,所以是或的关系,这点通过示例表格也可以验证,所以我们需要筛选两种客户,一种客户的推荐id为空,另一种不为2。

算法(标准SQL)

查询客户表,满足推荐id为空或不为2,返回姓名。

代码(标准SQL)

sql 复制代码
select name
from Customer
where referee_id is null or referee_id !=2;
相关推荐
聪明努力的积极向上4 小时前
【MYSQL】字符串拼接和参数化sql语句区别
数据库·sql·mysql
文刀竹肃6 小时前
DVWA -SQL Injection-通关教程-完结
前端·数据库·sql·安全·网络安全·oracle
Honmaple6 小时前
中国四级城市联动数据,包含港澳台,内含json , sql , python 脚本
python·sql·json
LYFlied7 小时前
【每日算法】LeetCode 84. 柱状图中最大的矩形
前端·算法·leetcode·面试·职场和发展
思成不止于此7 小时前
【MySQL 零基础入门】MySQL 约束精讲(一):基础约束篇
数据库·笔记·sql·学习·mysql
ActionTech7 小时前
SCALE | SQLFlash 在 SQL 优化维度上的表现评估
数据库·sql
iAkuya8 小时前
(leetcode)力扣100 14合并区间(差分/排序)
算法·leetcode·职场和发展
月明长歌9 小时前
【码道初阶】【LeetCode 958】判定完全二叉树:警惕 BFS 中的“管中窥豹”陷阱
算法·leetcode·宽度优先
曹牧9 小时前
Oracle:拼音码
数据库·oracle
BD_Marathon9 小时前
【JavaWeb】日程管理03——准备数据库和实体类
数据库·oracle