본문 바로가기

사전캠프 퀘스트

Lv5. 예산이 가장 큰 프로젝트는?

문제:

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

요구사항:

  1. 각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.
    1. 출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야 합니다.
    2. 기대 결과 
      Name  Department Salary
      Alice HR 5000
      Frank IT 7200
      Eve Sales 5500
      정답 : 

SELECT Name, Department, Salary

FROM employees_3

WHERE Salary IN (SELECT max(Salary) FROM employees_3 GROUP BY Department)

  1. 직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.
    1. 출력 결과에는 직원 이름, 프로젝트 이름, 그리고 프로젝트 예산이 포함되어야 합니다.
      Name  ProjectName  Budget
      Bob Beta 15000
      Charlie Beta 15000
      Frank Beta 15000
      David Gamma 12000
      Frank Gamma 12000
      정답 :

SELECT e.Name, p.ProjectName, p.Budget

FROM employeesprojects_3 ep

JOIN employees_3 e ON ep.EmployeeID = e.EmployeeID

JOIN project_3 p ON ep.ProjectID = p.ProjectID

WHERE p.Budget >= 10000

제약사항:

  • 두 쿼리 모두 서브쿼리를 사용해주세요.
  • 서브쿼리를 통해 특정 조건을 만족하는 데이터를 필터링하고, 그 결과를 최종 쿼리에 반영해야 합니다.