더북(TheBook)

3 정답

SELECT a.emp_no, a.first_name, a.last_name, a.birth_date, c.dept_name
  FROM employees a
NATURAL JOIN dept_emp b
NATURAL JOIN departments c
 WHERE EXTRACT(YEAR_MONTH FROM a.birth_date) >= '196502';

실행결과

해설 사번, 이름, 생일 정보는 employees 테이블에 있고, 부서명은 departments 테이블에 있죠. 사원의 부서 할당 정보는 dept_emp에 있으므로 일단 employees와 dept_emp, dept_emp와 departments 테이블을 조인합니다. NATURAL 조인을 하려면 두 테이블의 조인 칼럼명이 같아야 합니다. employees와 dept_emp는 emp_no, dept_emp와 departments는 dept_no로 조인 칼럼명이 같으므로 NATURAL JOIN 구문으로 조인할 수 있습니다. 마지막으로, 1965년 2월 이후 출생한 사원을 확인해야 하므로 WHERE 절에서 EXTRACT() 함수로 employees 테이블의 birth_date 칼럼이 ‘196502’보다 크거나 같은 건을 확인합니다.

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