【LeetCode】183.从不订购的客户

183.从不订购的客户

假设一个网站包含两个表,Customers 表和 Orders 表。编写一个SQL语句找出所有从不订购任何东西的客户。

【LeetCode】183.从不订购的客户_第1张图片

用到的表和数据SQL:

Create table If Not Exists Customers (Idint, Name varchar(255));
Create table If Not Exists Orders (Id int,CustomerId int);
Truncate table Customers;
insert into Customers (Id, Name) values('1', 'Joe');
insert into Customers (Id, Name) values('2', 'Henry');
insert into Customers (Id, Name) values('3', 'Sam');
insert into Customers (Id, Name) values('4', 'Max');
Truncate table Orders;
insert into Orders (Id, CustomerId) values('1', '3');
insert into Orders (Id, CustomerId) values('2', '1');

答案:

此题很简单,直接让两个表左外连接,然后只要找出右边的CustomerId为Null的顾客就是没有下订单的顾客

select c.name Customers
from Customers c
left join Orders o on o.CustomerId = c.Id
where o.CustomerId is null

写的比较粗糙,有不理解的可以扫描二维码加QQ群找我解答。

【LeetCode】183.从不订购的客户_第2张图片


你可能感兴趣的:(LeetCode(数据库),LeetCode(数据库部分))