SQL
SQL 실전! 실제 DB에서 연습해요(5) - Lv5. 예산이 가장 큰 프로젝트는?
김예나
2024. 12. 10. 23:16
Employees
EmployeeID | Name | Department | Salary |
1 | Alice | HR | 5000 |
2 | Bob | IT | 7000 |
3 | Charlie | IT | 6000 |
4 | David | HR | 4500 |
5 | Eve | Sales | 5500 |
6 | Frank | IT | 7200 |
EmployeeProjects
EmployeeID | ProjectID |
1 | 101 |
2 | 101 |
3 | 102 |
4 | 103 |
5 | 104 |
6 | 102 |
6 | 103 |
Projects
ProjectID | ProjectName | Budget |
101 | Alpha | 10000 |
102 | Beta | 15000 |
103 | Gamma | 12000 |
104 | Delta | 8000 |
1. 각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.
select Name, Department, Salary
from
(
SELECT Department,
Name,
Salary,
rank() over(partition by Department order by Salary desc) rn
from Employees e
) a
where rn = 1
2. 직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.
select e.Name, a.ProjectName, a.Budget
from Employees e
left join
(
select ep.EmployeeID, p.ProjectName, p.Budget
from EmployeeProjects ep
left join Projects p on ep.ProjectID = p.ProjectID
) a on e.EmployeeID = a.EmployeeID
where a.Budget >= 10000