某**包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。
customers 表:
±—±------+
| id | name |
±—±------+
| 1 | joe |
| 2 | henry |
| 3 | sam |
| 4 | max |
±—±------+
orders 表:
±—±-----------+
| id | customerid |
±—±-----------+
| 1 | 3 |
| 2 | 1 |
±—±-----------+
例如給定上述**,你的查詢應返回:
±----------+
| customers |
±----------+
| henry |
| max |
±----------+
方法一:使用子查詢和 not in 子句
演算法
如果我們有乙份曾經訂購過的客戶名單,就很容易知道誰從未訂購過。
我們可以使用下面的**來獲得這樣的列表。
select customerid from orders;
然後,我們可以使用 not in 查詢不在此列表中的客戶。
select customers.name as
'customers'
from customers
where customers.id notin(
select customerid from orders
);
方法二
也可以使用左連線
select name customers
from customers c
left
join orders o
on o. customerid = c.id
where customerid is
null
從不訂購的客戶
假設乙個 包含兩個表,customers表和orders表。編寫乙個sql語句找出所有從不訂購任何東西的客戶。customers表 id name 1 joe 2 henry 3 sam 4 max orders表 id customerid 1 3 2 1 以上述 為例,返回以下內容 custom...
從不訂購的客戶
題目 從不訂單的客戶 某 包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。customers 表 id name 1 joe 2 henry 3 sam 4 max orders 表 id customerid 1 3 2 1 例如給定...
從不訂購的客戶
sql架構 某 包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。customers 表 id name 1 joe 2 henry 3 sam 4 max orders 表 id customerid 1 3 2 1 例如給定上述 你的...