题目地址
https://leetcode-cn.com/problems/customers-who-never-order/
题目描述:从不订购的客户
某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。
Customers 表:
+----+-------+ | Id | Name | +----+-------+ | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +----+-------+
Orders 表:
+----+------------+ | Id | CustomerId | +----+------------+ | 1 | 3 | | 2 | 1 | +----+------------+
例如给定上述表格,你的查询应返回:
+-----------+ | Customers | +-----------+ | Henry | | Max | +-----------+
解答
连接两个表,找到订购的客户,之后使用 NOT IN 即可。
# Write your MySQL query statement below
SELECT NAME AS Customers
FROM Customers
WHERE Id NOT IN(
SELECT Customers.Id
FROM Customers INNER JOIN Orders
ON Customers.Id = Orders.CustomerId
)