题目:
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 |
解答:
通过让两个表左外连接,然后找出右边的CustomerId为Null的顾客就是没有下订单的顾客
Id | Name | CustomerId |
---|---|---|
1 | Joe | 1 |
3 | Sam | 3 |
2 | Henry | null |
4 | Max | null |
select Customers.Name as Customers
from Customers left join Orders on Orders.CustomerId=Customers.Id
where Orders.CustomerId is null;