SQLD(SQL 개발자) 기출 · 집계 함수
다음 SQL 실행 결과로 알맞은 것은?

본문)
UPDATE EMPLOYEE E1
SET SAL = (SELECT MAX(SAL)
FROM EMPLOYEE E2
WHERE E1.DNAME = E2.DNAME)
WHERE SAL <= (SELECT AVG(SAL)
FROM EMPLOYEE);이 문제 풀어보기
정답 및 해설 보기
정답: 2번
전체 평균(4000)보다 급여가 낮은 직원들의 급여만 수정되므로 김길동 두 명의 급여는 수정되지 않는다. SET절은 각 행의 급여 수정 시 부서명을 확인하여 서브쿼리에서 해당 부서의 최대 급여를 찾아 수정하는 구문이다. 따라서 아시아지부는 모두 3000으로, 남유럽지부는 8000으로 수정된다.