T_era
[MySQL] 문제풀이 : 가장 높은 월급을 받는 직원은? 본문
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
|
더보기
select
e.Name,
e.Department,
e.Salary,
top.Top_Earner,
top.Top_Salary
from Employees e
join(
select
Name as Top_Earner,
Department,
max(Salary) as Top_Salary
from Employees
group by 2
) as top
on f.Department = top.Department
2.
부서별로 평균 월급이 가장 높은 부서의 이름과 해당 부서의 평균 월급을 조회하는 SQL 쿼리를 작성해주세요.
a.
기대결과
|
Department
|
Avg_Salary
|
|
IT
|
87500
|
더보기
select
Department,
avg(Salary) as Avg_Salary
from Employees
group by Department
having avg(Salary) = (
select max(a.Avg_Salary)
from (
select Department, avg(Salary) as Avg_Salary
from Employees
group by Department
) as a
)
'Programing > Datababse' 카테고리의 다른 글
| [MySQL] 문제풀이 : 예산이 가장 큰 프로젝트는? (0) | 2025.03.25 |
|---|---|
| [MySQL] 문제풀이 : 가장 많이 팔린 품목은? (0) | 2025.03.25 |
| [MySQL] 문제풀이 : 단골 고객님 찾기 (0) | 2025.03.25 |
| [MySQL] 문제풀이 : 이용자의 포인트 조회하기 (0) | 2025.03.25 |
| [MySQL] 문제풀이 날짜별 획득포인트 조회하기 (0) | 2025.03.25 |