想要精通算法和SQL的成长之路 - 从不订购的客户(SQL)
前言
一. 从不订购的客户
某网站包含两个表,
-
Customers
表:
-
Orders
表:
编写一个 SQL
查询,找出所有从不订购任何东西的客户。输出结果如下:
我在系列文章导航里面写过,关于左右联结有着多种不同的模板,这里对应的模板是:存在表A但是不在表B的数据。
select xxx from A as a left join B as b on (a.列 = b.列) where b.列 is null
换句话说就是存在于Customers
表中缺不存在于Orders
表的名称。那么最终SQL
就很简单,套模板。如下:
select
c.name as Customers
from
Customers c left join Orders o
on
(c.Id = o.CustomerId)
where
o.CustomerId is null