力扣(LeetCode)从不订购的客户-数据库题 个人题解

某网站包含两个表,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)

 

posted @ 2019-03-01 22:21  AXiangCoding  阅读(148)  评论(0编辑  收藏  举报