홍동이의 성장일기

[LeetCode] 570. Managers with at Least 5 Direct Reports 본문

Tool/SQL 코딩테스트 풀이

[LeetCode] 570. Managers with at Least 5 Direct Reports

홍동2 2023. 8. 15. 10:42

 

Managers with at Least 5 Direct Reports - LeetCode

Can you solve this real interview question? Managers with at Least 5 Direct Reports - Table: Employee +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | name | varchar | | department | varchar | | managerId | int | +-

leetcode.com

 

SELECT m.name as name
FROM employee e INNER JOIN employee m
ON e.managerId = m.id
GROUP BY e.managerId
HAVING COUNT(e.managerId) >= 5

 

 

💡 개념정리

 

전에 풀었던 셀프조인 문제와 비슷해서 조금 생각하니 풀어낼 수 있었다.

 

 

1. INNER JOIN을 이용하여 셀프조인 해주기

➡️ LEFT JOIN을 사용하니 HAVING 조건을 걸어줄 때 해당 조건을 만족하지 못할 때 결과가 NULL이 나오는 오류가 발생하여서 INNER JOIN을 사용해주었다.

 

 

2. managerId로 GROUP BY 해주기

 

3. HAVING을 이용하여 e.managerId가 5 이상인 매니저의 이름 찾아주기

 


📍본 내용은 데이터리안 'SQL 데이터 분석 캠프 실전반' 을 수강하며 작성한 내용입니다.

728x90
Comments