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 |
Projects 테이블:
| ProjectID | ProjectName | Budget |
|---|---|---|
| 101 | Alpha | 10000 |
| 102 | Beta | 15000 |
| 103 | Gamma | 12000 |
| 104 | Delta | 8000 |
EmployeeProjects 테이블:
| EmployeeID | ProjectID |
|---|---|
| 1 | 101 |
| 2 | 101 |
| 3 | 102 |
| 4 | 103 |
| 5 | 104 |
| 6 | 102 |
| 6 | 103 |
각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.
내가 작성한 쿼리 :
select e.Name , e.Department , e.Salary
from
(
select Department , max(Salary) Salary
from employees e
group by 1
) a join employees e on a.Department = e.Department
where a.Salary = e.Salary
직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.
내가 작성한 쿼리 :
select e.Name , a.ProjectName, a.Budget
from
(
select distinct ep.EmployeeID , p.ProjectName , p.Budget
from projects p join employees_projects ep on p.ProjectID =ep.ProjectID
where p.Budget >= 10000
) a join employees e on a.EmployeeID = e.EmployeeID