183. 从不订购的客户
某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。
思路一:使用子查询和 NOT IN 子句
select Customers.Name as Customers from Customers where Customers.Id not in (select a.Id as c from Customers as a ,Orders as b where a.Id=b.CustomerId)
思路二:使用左连接:left join in…on…
select a.name as 'Customers' from Customers as a left join Orders as b on
a.Id=b.CustomerId where b.CustomerId is null;
注意:
-
NULL表示不可知不确定,NULL不与任何值相等(包括其本身)
-
IS NULL 判断某个字符是否为空,并不代表空字符或者是0
-
=NULL 是判断某个值是否等于NULL