LeetCode 从不订购的客户

题 目 描 述 : \color{blue}题目描述:
某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。

Customers 表:

+----+-------+
| Id | Name  |
+----+-------+
| 1  | Joe   |
| 2  | Henry |
| 3  | Sam   |
| 4  | Max   |
+----+-------+

Orders 表:

+----+------------+
| Id | CustomerId |
+----+------------+
| 1  | 3          |
| 2  | 1          |
+----+------------+

例如给定上述表格,你的查询应返回:

+-----------+
| Customers |
+-----------+
| Henry     |
| Max       |
+-----------+

思 路 分 析 : \color{blue}思路分析: 我们只要查找Customers表中不在Orders表中的CustomerId集合里的id即可。

代 码 实 现 : \color{blue}代码实现:

select Name as 'Customers'
from Customers
#筛选出没有订购过的用户
where id not in (
	#查找Orders表中CustomerId集合
    select CustomerId
    from Orders
);

博 客 推 荐 : \color{blue}博客推荐:
此题涉及到条件查询中的in关键字,请参考我的专栏 MySQL从入门到精通之条件查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值