leetcode-sql数据库面试题冲刺高频SQL五十题
目录
leetcode-sql数据库面试题冲刺(高频SQL五十题)
2025.03.05第二题
题目:
584.寻找用户推荐人
表: Customer
±————±——–+
| Column Name | Type |
±————±——–+
| id | int |
| name | varchar |
| referee_id | int |
±————±——–+
在 SQL 中,id 是该表的主键列。
该表的每一行表示一个客户的 id、姓名以及推荐他们的客户的 id。
找出那些 没有被 id = 2 的客户 推荐 的客户的姓名。
思路:
首先需要找的是客户姓名,那么select寻找的就是name,其次给出符合的条件为”没有被id = 2 的客户推荐“,那么就存在两种可能:
a)当前客户没有被其他客户推荐
b)推荐当前客户的不是id = 2的客户
这两种可能是或的关系,只要一个为真,那么这个式子结果就为真
所以用or逻辑运算符将两种可能组合起来,再使用where关键字在表中过滤不符合条件的表格行,确保最后结果是对的。
代码:
select name
from Customer
where referee_id != 2 or referee_id is null