문제:
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 쿼리를 작성해주세요.
- 출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야 합니다.
- 기대 결과
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)
- 직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.
- 출력 결과에는 직원 이름, 프로젝트 이름, 그리고 프로젝트 예산이 포함되어야 합니다.
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
제약사항:
- 두 쿼리 모두 서브쿼리를 사용해주세요.
- 서브쿼리를 통해 특정 조건을 만족하는 데이터를 필터링하고, 그 결과를 최종 쿼리에 반영해야 합니다.
'사전캠프 퀘스트' 카테고리의 다른 글
Lv5. 가장 많이 팔린 품목은? (1) | 2024.09.28 |
---|---|
Lv4. 단골 고객님 찾기 (1) | 2024.09.28 |
Lv4. 가장 높은 월급을 받는 직원은? (0) | 2024.09.27 |
Lv3. 이용자의 포인트 조회하기 (1) | 2024.09.27 |
Lv2. 날짜별 획득포인트 조회하기 (0) | 2024.09.27 |