더북(TheBook)

부서 관리자 정보는 dept_manager 테이블에 있고, 부서 정보는 departments 테이블에 있으므로 이 둘을 dept_no 칼럼으로 내부 조인합니다.

INNER JOIN employees c
   ON a.emp_no = c.emp_no

관리자 이름을 가져오기 위해 emp_no 칼럼으로 dept_manager와 employees 테이블을 내부 조인합니다.

WHERE b.dept_name IN ('Marketing', 'Finance')

Marketing과 Finance 부서의 관리자 정보를 조회하므로 departments 테이블의 dept_name 칼럼 값이 ‘Marketing’과 ‘Finance’인 건만 조회하도록 IN 연산자로 조건을 줍니다.

AND SYSDATE() BETWEEN a.from_date AND a.to_date;

dept_manager 테이블에는 from_date와 to_date라는 날짜 칼럼이 있습니다. 두 칼럼에는 언제부터 언제까지 특정 부서의 관리자로 있었는지에 대한 날짜 값이 들어 있죠. 따라서 현재 시점을 기준으로 해당 부서의 관리자를 조회하려면 현재 날짜를 반환하는 SYSDATE() 함수의 반환값이 from_date와 to_date 사이에 있는 건을 조회하면 됩니다. 두 날짜 사이에 포함되는지는 BETWEEN... AND 연산자로 확인합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.