leet code sql 570
570. Managers with at Least 5 Direct Reports
문제
- 최소 5개 이상의 직접 보고를 받는 매니저를 구하라
문제 접근
- Group having을 통하여 최소 5개 이상을 담당하고 있는 매니저
- subquery 혹은 join을 통하여 쿼리 구성
- 일반적으로 join을 통하여 구성하는게 subquery로 구성하는 것 보다 배로 빠르다.
1
2
3
4
5
6
7
8
# join query
SELECT
m.name
FROM Employee e
INNER JOIN Employee m
ON e.managerId = m.id
GROUP BY e.managerId
HAVING count(e.managerId) >= 5
1
2
3
4
5
6
7
8
9
10
11
# subquery
select
name
from Employee
where id in (
select
managerId
from Employee
group by managerId
having count(*) >= 5
)