力扣資料庫 183 從不訂購的客戶

2021-09-26 15:56:50 字數 2049 閱讀 8862

create

table

ifnot

exists customers (id int

, name varchar

(255))

create

table

ifnot

exists orders (id int

, customerid int

)truncate

table customers

insert

into customers (id, name)

values

('1'

,'joe'

)insert

into customers (id, name)

values

('2'

,'henry'

)insert

into customers (id, name)

values

('3'

,'sam'

)insert

into customers (id, name)

values

('4'

,'max'

)truncate

table orders

insert

into orders (id, customerid)

values

('1'

,'3'

)insert

into orders (id, customerid)

values

('2'

,'1'

)

某**包含兩個表,customers表和orders表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。

customers表:

+----+-------+

| id | name |

+----+-------+

| 1 | joe |

| 2 | henry |

| 3 | sam |

| 4 | max |

+----+-------+

orders表:

+----+------------+

| id | customerid |

+----+------------+

| 1 | 3 |

| 2 | 1 |

+----+------------+

根據以上輸入,你的查詢應返回以下結果:

+-----------+

| customers |

+-----------+

| henry |

| max |

+-----------+

思路:要找出從不訂購的使用者,從不訂購的使用者指沒有出現在orders表中的使用者,那麼也就是說只要篩選出不在orders表中的資料就好。

方法1:使用 not in + 子查詢

select c.name  as customers

from customers as c

where c.id notin(

select customerid from orders

)

耗時:113ms

方法2:使用left join

select c.name as customers

from customers as c

left

join orders as o

on c.id = o.customerid

where o.id is

null

耗時:163ms

力扣183 從不訂購的客戶

力扣183.從不訂購的客戶 某 包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。customers 表 id name 1 joe 2 henry 3 sam 4 max orders 表 id customerid 1 3 2 1 例...

LeetCode 183 從不訂購的客戶

題意 某 包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。customers 表 id name 1 joe 2 henry 3 sam 4 max orders 表 id customerid 1 3 2 1 例如給定上述 你的查詢應...

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

某 包含兩個表,customers 表和 orders 表。編寫乙個 sql 查詢,找出所有從不訂購任何東西的客戶。customers 表 id name 1 joe 2 henry 3 sam 4 max orders 表 id customerid 1 3 2 1 例如給定上述 你的查詢應返回 ...