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
'SQL' 카테고리의 다른 글
SELECT 연습(2) (2) | 2024.12.18 |
---|---|
SELECT 연습(1) (0) | 2024.12.17 |
SQL 실전! 실제 DB에서 연습해요(4) - Lv5. 가장 많이 팔린 품목은? (0) | 2024.12.10 |
SQL 실전! 실제 DB에서 연습해요(3) - Lv4. 가장 높은 월급을 받는 직원은? (1) | 2024.12.10 |
HAVING 절과 WHERE 절의 차이 (0) | 2024.12.10 |