查找不在表里的数据

在这里插入图片描述

  • 解题思路——不订购任何东西的客户都有谁?

1.要找出所有从不订购任何东西的客户,订购信息在Order表里
2.“客户都有谁?”要返回的客户姓名,姓名在Customers表里

所以,需要联结两表。

  • 联结情况如下图所示(图摘录于猴子)
    图来源于猴子

  • 此题经过分析应该是在Customers表里而不在Order表里的客户姓名
    应该选用

select... 
from1 as a
left join2 as b
on a.列名=b.列名
where b.列名 is null;
  • 若不加where,则表的查询结果为:
    在这里插入图片描述
  • 题目最终是要查询从不订购任何东西的客户,即为上图中标红的内容
  • 参考答案为:
select a.Name as Customers 
from Customers as a
left join Orders as b
on a.Id=b.CustomersId
where b.CustomersId is null;

版权声明:本文为Tronker原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。