💸

Lv4. 가장 높은 월급을 받는 직원은?

Lv4. 가장 높은 월급을 받는 직원은?

SQL의 기본적인 쿼리문을 작성할 수 있다면, 달리기반 과제에 도전해보아요. 단순 문법을 사용하는 것 뿐 아니라 내가 정말 원하는 데이터를 출력하기 위한 한 걸음이 될 거예요!

과제를 수행하고나 나면 할 수 있어요!

JOIN, 서브쿼리, GROUP BY, HAVING 등 SQL 기능을 조합하여 사용할 수 있다.
GROUP BYHAVING을 사용해 특정 조건을 만족하는 집계 결과를 필터링할 수 있다.
여러 테이블을 연결하고 필요한 데이터를 추출할 수 있는 능력을 기를 수 있다.
쿼리의 성능을 고려해 필요한 데이터를 가장 효율적으로 얻을 수 있는 방법을 찾는 능력을 기를 수 있다.
Notification: 과제 시작 전 확인할 내용!

 과제 시작 전 다음 내용을 셀프 체크해보세요.

SELECT, FROM, WHERE, JOIN 등의 기본적인 SQL 문법과 구조에 대한 이해
COUNT, SUM, AVG, MAX, MIN 등 집계 함수의 사용법
서브쿼리(내부 쿼리)의 개념과 사용법, 그리고 이를 메인 쿼리와 결합하는 방법
HAVING 절을 사용해 그룹화된 데이터에서 특정 조건을 만족하는 결과만 필터링하는 방법
본격적으로 시작해 볼까요?
Employees 테이블:
EmployeeID
Name
Department
Salary
ManagerID
1
Alice
HR
70000
NULL
2
Bob
IT
90000
1
3
Charlie
IT
80000
2
4
David
IT
85000
2
5
Eve
HR
75000
1
6
Frank
Finance
95000
NULL
7
Grace
Finance
80000
6
8
Heidi
IT
95000
2

요구사항:

1.
각 직원의 이름, 부서, 월급, 그리고 그 직원이 속한 부서에서 가장 높은 월급을 받고 있는 직원의 이름과 월급을 조회하는 SQL 쿼리를 작성해주세요.
a.
기대결과
Name
Department
Salary
Top_Earner
Top_Salary
Alice
HR
70000
Eve
75000
Bob
IT
90000
Heidi
95000
Charlie
IT
80000
Heidi
95000
David
IT
85000
Heidi
95000
Eve
HR
75000
Eve
75000
Frank
Finance
95000
Frank
95000
Grace
Finance
80000
Frank
95000
Heidi
IT
95000
Heidi
95000
2.
부서별로 평균 월급이 가장 높은 부서의 이름과 해당 부서의 평균 월급을 조회하는 SQL 쿼리를 작성해주세요.
a.
기대결과
Department
Avg_Salary
IT
87500

제약사항:

두 쿼리 모두 서브쿼리, JOIN, GROUP BY, HAVING 등의 기능을 활용해주세요.
완료하셨다면?
정답 확인하기
코드와 결과가 제시된 정답과 같다면?
과제를 수행하며 고민하고 검색했던 내용을 모아 TIL을 작성해주세요.
최종코드와 함께 업로드한 TIL을 제출해주세요.
코드 Raw를 퀘스트로 제출해주세요
퀘스트 제출하기
정답과 다르다면?
아직 어려운 것이 당연합니다. 슬랙 내 ‘질문방’에 질문하여 어떤 점이 어려운지 공유해 보세요! 함께 풀어나가면 훨씬 쉬울 거에요.