'RED' 회사와 일하지 않은 사람 id를 반환하자.
간단하게 join해서 풀 수 있다.
select name
from salesperson
where sales_id not in
(select o.sales_id
from orders as o join
company as c on o.com_id = c.com_id
where c.name = 'RED') ;
아래는 처음 제출한 코드. join이 하나 필요 없어서 뺐는데 왜 이 코드가 더 빠른 걸까.
select d.name
from salesperson as d
where d.sales_id not in
(select o.sales_id
from salesperson as s join
orders as o on o.sales_id = s.sales_id join
company as c on o.com_id = c.com_id
where c.name = 'RED') ;
'learning > SQL' 카테고리의 다른 글
[LeetCode 1084] Sales Analysis III (0) | 2023.01.31 |
---|---|
[LeetCode 1141] User Activity for the Past 30 Days I (0) | 2023.01.31 |
[LeetCode 197] Rising Temperature (0) | 2023.01.30 |
[LeetCode 1158] Market Analysis I (1) | 2023.01.29 |
[LeetCode 1393] Capital Gain/Loss (0) | 2023.01.29 |
댓글