[TIL]_2025.02.17 본캠프 1일차 (2)

JIYUU·2025년 2월 17일

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

  • Employees Table
  • Projects Table
  • EmployeeProjects Table

문제 1. 각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.

  • 출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야 합니다.

  • 기대 결과

  • 내가 작성한 답

SELECT
	e.name,
	e.Department,
	e.Salary
FROM
	Employees e
WHERE
	Salary = (
		SELECT
			MAX(Salary)
		FROM
			Employees e2
		WHERE
			e2.Department = e.Department 
# e.Department로 현재의 부서(Ex. HR)을 확인하고 HR 내에서 MAX(Salary)를 찾음. 이런 식으로 각 부서 별 최고 급여를 찾을 수 있음.
	);
  • 정답
SELECT 
    e.Name,
    e.Department,
    e.Salary
FROM 
    Employees e
WHERE 
    e.Salary = (
        SELECT 
            MAX(Salary)
        FROM 
            Employees e2
        WHERE 
            e2.Department = e.Department
    );

문제 2. 직원이 참여한 프로젝트 중 예산이 10,000 이상인 프로젝트만을 조회하는 SQL 쿼리를 작성해주세요.

  • 출력 결과에는 직원 이름, 프로젝트 이름, 그리고 프로젝트 예산이 포함되어야 합니다.

  • 내가 작성한 답

SELECT
	e.Name,
	p.ProjectName,
	p.Budget
FROM
	Employees e
JOIN EmployeeProjects ep ON
	e.EmployeeID = ep.EmployeeID
JOIN Projects p ON
	ep.ProjectID = p.ProjectID
WHERE
	p.Budget >= 10000;
  • 정답
SELECT 
    e.Name,
    p.ProjectName,
    p.Budget
FROM 
    Employees e
JOIN 
    EmployeeProjects ep ON e.EmployeeID = ep.EmployeeID
JOIN 
    Projects p ON ep.ProjectID = p.ProjectID
WHERE 
    p.Budget >= 10000;

0개의 댓글