資料庫題目 從不訂購的客戶

2021-10-22 21:40:29 字數 1118 閱讀 8521

某**包含兩個表,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 例如給定上述 你的...