某網站包含兩個表,Customers 表和 Orders 表。編寫一個 SQL 查詢,找出所有從不訂購任何東西的客戶。
Customers 表:
+----+-------+
| Id | Name ?|
+----+-------+
| 1 ?| Joe ? |
| 2 ?| Henry |
| 3 ?| Sam ? |
| 4 ?| Max ? |
+----+-------+
Orders 表:
+----+------------+
| Id | CustomerId |
+----+------------+
| 1 ?| 3 ? ? ? ? ?|
| 2 ?| 1 ? ? ? ? ?|
+----+------------+
例如給定上述表格,你的查詢應返回:
+-----------+
| Customers |
+-----------+
| Henry ? ? |
| Max ? ? ? |
+-----------+
思路:查出出現過的CustomerId,如果哪個name對應的id沒在這個列表中,就符合條件。
select Name as 'Customers'
from Customers
where Id not in(select CustomerId from Orders
);
?