[SQL#113]1978. Employees Whose Manager Left the Company

Gi Woon Lee·2024년 8월 24일

SQL

목록 보기
11/33

[1978. Employees Whose Manager Left the Company)

문제 컨셉

employees 테이블에는 직원 번호, 직원이름, 담당 매니저 번호, 봉급 정보가 들어있다.
매니저가 퇴사하면 해당 매니저의 정보는 employees 테이블에서 삭제되어야 하는데
manager_id 칼럼에 그대로 남아있는 경우가 있어 조치가 필요하다.

주문: 3만 달러 미만의 봉급을 받는 회사원 중 담당 매니저가 회사를 떠난 사람을 찾아라!


예시 설명:
봉급이 3만 달러 미만인 직원은 1, 11번이다.
이 중 매니저가 이미 회사를 떠난 경우는 11번 밖에 없다.

방법:

  1. 3만 달러 미만 필터링
  2. 해당 row의 manager_id 가 employee_id에 없는지 where 절 not in 연산자로 확인

코드:

select employee_id
from employees
where
manager_id not in (select employee_id from employees) and
salary < 30000
order by employee_id

후기:

왜 이렇게 오래 걸렸지...?

in, not in 연산자의 뒤에는 리스트 혹은 서브쿼리가 와야 한다!!

0개의 댓글