이지은님의 블로그
달리기반 퀘스트 - Lv5. 예산이 가장 큰 프로젝트는? 본문
- Employees 테이블
- Projects 테이블
EmployeeProject 테이블
- 각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.
- 출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야 합니다.
SELECT Name, Department, Salary
FROM Employees e
WHERE Salary =
(SELECT max(Salary)
from Employees e2
WHERE e2.Department =e.Department )
ORDER BY 2
포인트 1: 각 부서에서 가장 높은 월급을 받는 직원을 구하기 위해 그룹화를 하는 방법도 있지만, 각 부서별 가장 높은 월급을 출력하는 조건문을 작성한다.
포인트 2: 각 부서별이라는 조건은 where e2.Department =e.Department로 지정할 수 있다.
- 결과
- 직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.
- 출력 결과에는 직원 이름, 프로젝트 이름, 그리고 프로젝트 예산이 포함되어야 합니다.
SELECT Name, a.projectName, a.budget
FROM
(SELECT p.ProjectID, ProjectName, Budget, EmployeeID
FROM Projects p join EmployeeProjects ep on p.ProjectID =ep.ProjectID) a
JOIN Employees e on a.EmployeeID=e.EmployeeID
WHERE a.budget>=10000
포인트 1: 직원의 이름정보(Employees), 프로젝트 정보(Projects), 그리고 그 둘을 연결하기 위한 정보(EmployeeProjects), 총 3개의 테이블을 JOIN해주어야한다.
포인트 2: where절로 조건을 부여하면 쉽게 해결되는 문제다
- 결과
'사전캠프 퀘스트' 카테고리의 다른 글
[JAVA] 달리기반 퀘스트 - Lv1. 랜덤 닉네임 생성기 (0) | 2024.12.06 |
---|---|
[JAVA] 걷기반 퀘스트 (0) | 2024.12.06 |
달리기반 퀘스트 - Lv5. 가장 많이 팔린 품목은? (0) | 2024.12.02 |
달리기반 퀘스트 - Lv4. 가장 높은 월급을 받는 직원은? (0) | 2024.12.02 |
달리기반 퀘스트 - Lv4. 단골 고객님 찾기 (1) | 2024.11.29 |