Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

이지은님의 블로그

달리기반 퀘스트 - Lv5. 예산이 가장 큰 프로젝트는? 본문

사전캠프 퀘스트

달리기반 퀘스트 - Lv5. 예산이 가장 큰 프로젝트는?

queenriwon3 2024. 12. 2. 18:08
  • Employees 테이블

 

  • Projects 테이블

 

EmployeeProject 테이블

 

 

  1. 각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.
    1. 출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야 합니다.
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로 지정할 수 있다.

 

  • 결과

 

 

  1. 직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.
    1. 출력 결과에는 직원 이름, 프로젝트 이름, 그리고 프로젝트 예산이 포함되어야 합니다.
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절로 조건을 부여하면 쉽게 해결되는 문제다

 

  • 결과