假设一个网站包含两个表,Customers
表和 Orders
表。编写一个SQL语句找出所有从不订购任何东西的客户。
Customers
表:
+----+-------+ | Id | Name | +----+-------+ | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +----+-------+
Orders
表:
+----+------------+ | Id | CustomerId | +----+------------+ | 1 | 3 | | 2 | 1 | +----+------------+
以上述表格为例,返回以下内容:
+-----------+ | Customers | +-----------+ | Henry | | Max | +-----------+
您是否在真实的面试环节中遇到过这道题目呢?
解答如下:
LEFT JOIN Orders ON Customers.Id = Orders.CustomerId
WHERE Orders.CustomerId IS NULL;