详解力扣高频 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;
相关推荐
稚辉君.MCA_P8_Java17 小时前
Gemini永久会员 Java动态规划
java·数据结构·leetcode·排序算法·动态规划
N***738517 小时前
SQL锁机制
java·数据库·sql
小白程序员成长日记17 小时前
2025.11.23 力扣每日一题
算法·leetcode·职场和发展
cookqq17 小时前
mongodb根据索引IXSCAN 查询记录流程
数据结构·数据库·sql·mongodb·nosql
6***v41718 小时前
spring boot 项目打印sql日志和结果,使用logback或配置文件
spring boot·sql·logback
数白20 小时前
Oracle 数据迁移最佳实践(不使用第三方工具)
数据库·oracle
2***s6721 天前
给SQL server数据库表字段添加注释SQL,附修改、删除注释SQL及演示
数据库·sql·oracle
2***d8851 天前
使用 MySQL 从 JSON 字符串提取数据
mysql·oracle·json
AI2中文网1 天前
AppInventor2 使用 SQLite(三)带条件过滤查询表数据
数据库·sql·sqlite·select·app inventor 2·appinventor·tableview
I***26151 天前
智能生成ER图工具。使用 SQL 生成 ER 图:让数据库设计更高效
数据库·sql·oracle