SQLD(SQL 개발자) 기출 · DML
다음 쿼리의 실행 결과와 동일한 결과를 보장하는 쿼리는 어느 것인가?
본문)
<SQL>
UPDATE EMP
SET BONUS = (SELECT MAX(NULL)
FROM BONUS_LOG B
WHERE EMP.EMP_ID = B.EMP_ID
AND B.YEAR = 2024);이 문제 풀어보기
정답 및 해설 보기
정답: 4번
MAX(NULL)은 항상 결과가 NULL → 비교 조건과 무관하게 NULL 반환
따라서 SET BONUS = (SELECT MAX(NULL)...) 은 결국
→ 모든 대상 행의 BONUS 컬럼을 NULL로 업데이트
보기 ④는 바로 NULL을 할당하므로 동일한 결과
따라서 SET BONUS = (SELECT MAX(NULL)...) 은 결국
→ 모든 대상 행의 BONUS 컬럼을 NULL로 업데이트
보기 ④는 바로 NULL을 할당하므로 동일한 결과