03/13 SQL 문제풀이 - 184. Department Highest Salary (Leetcode)

Data Architect / Engineer·2024년 3월 13일
1

1일_1SQL

목록 보기
52/63
post-thumbnail

문제

  • LeetCode SQL 문제
  • 184. Department Highest Salary / Medium
  • 문제 내용 : [링크]



내가 작성한 Query

with temp_01 as(
    select b.name as Department
        , a.name as Employee
        , salary as Salary
        , a.departmentid as dept_id 
    from employee a
        join department b on a.departmentid = b.id
)
select department, employee, salary
from temp_01
where (dept_id, salary) in (select departmentid, max(salary) from employee group by departmentid)
  • 사원정보 테이블(employee)과 부서정보 테이블(department) 테이블을 departmentidid를 기준으로 JOIN 해 준다.

  • 이후 Department, Employee, Salary, dept_id 를 저장한 임시테이블 temp_01을 생성해준다.

  • temp_01에서 WHERE 절 조건을 서브쿼리를 이용해 작성한다. 각 부서별 salary가 (즉 dept_id, salary)가 최대값을 가지는 데이터만 출력하는 조건을 주어 필터링한다. (select departmentid, max(salary) from employee group by departmentid)

⭐ 특정 컬럼의 집계함수 MAX() 값을 가지는 데이터의 다른 컬럼을 출력하는 문제이다. 서브쿼리를 통해 WHERE절 조건을 작성하였다.
같은 최대값을 가지는 모든 데이터를 출력하는 문제였다.

profile
질문은 계속돼 아오에

0개의 댓글