某网站包含两个表,Customers
表和 Orders
表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。
Customers
表:
+----+-------+ | Id | Name | +----+-------+ | 1 | Joe | | 2 | Henry | | 3 | Sam | | 4 | Max | +----+-------+
Orders
表:
+----+------------+ | Id | CustomerId | +----+------------+ | 1 | 3 | | 2 | 1 | +----+------------+
例如给定上述表格,你的查询应返回:
+-----------+ | Customers | +-----------+ | Henry | | Max | +-----------+
好久以来重新捡起来数据库的查询操作,比较生疏,做道水题冷静冷静。
特别发现一点,关于查询的速度,写法略有不同差异极大,优化的思路值得学习
这题比较简单,一眼就能写出答案,故不做题解
代码如下:
select name as Customers from customers where id not in (select Customerid from orders)