首页 > 其他 > 详细

Customers Who Never Order

时间:2015-03-09 20:50:32      阅读:393      评论:0      收藏:0      [点我收藏+]

Suppose that a website contains two tables, the Customers table and the Orders table. Write a SQL query to find all customers who never order anything.

Table: Customers.

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

Table: Orders.

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

Using the above tables as example, return the following:

+-----------+
| Customers |
+-----------+
| Henry     |
| Max       |
+-----------+
思路一:用IN
1 select Name from Customers where Id not in (select CustomerId from Orders);

思路二:用exists

select Name from Customers c where not exists (select Id from Orders o where c.Id = o.CustomerId);

思路三:用左连接

select Name from Customers c left join Orders o on c.Id = o.CustomerId where o.Id is NULL;

 

Customers Who Never Order

原文:http://www.cnblogs.com/luckygxf/p/4324420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!