문제
다음은 EMP(EMPNO, DEPTNO, SAL) 테이블의 사원 급여를, 같은 부서의 평균 급여로 갱신하려는 SQL이다. 빈칸에 들어갈 내용으로 가장 적절한 것은?
① S.EMPNO = E.EMPNO
② S.SAL = E.SAL
③ S.DEPTNO = E.DEPTNO
④ S.DEPTNO = E.EMPNO
정답
3번
해설
각 사원의 급여를 '같은 부서'의 평균 급여로 갱신하려면, 서브쿼리에서 외부 행의 부서와 동일한 부서(S.DEPTNO = E.DEPTNO)의 평균을 구하는 상관 서브쿼리여야 한다. ①처럼 사원번호로 묶으면 자기 자신만의 평균이 되어 급여가 그대로 유지되고, ②는 갱신 의도와 무관한 조건, ④는 부서번호와 사원번호를 비교하는 잘못된 조인이다.