문제
다음 UPDATE 쿼리의 동작에 대한 설명으로 옳은 것은?
① 조건에 맞는 행의 기존 값을 그대로 유지한다. ② 팀별 최장신 선수의 팀명과 키로 갱신한다. ③ 전체 선수 중 최단신 한 명의 값으로만 갱신한다. ④ 같은 팀에 포지션 'G' 인 선수가 없으면 해당 행의 팀명·키가 NULL 로 갱신된다.
정답
4번
해설
정답: 4. 상관 서브쿼리 결과가 없는 행은 UPDATE 대상 컬럼이 NULL로 설정되므로, 조건에 맞는 가드가 없는 팀은 NULL 처리된다.
오답 풀이
- 1번: 서브쿼리 결과가 없을 때 기존 값을 유지하지 않는다.
- 2번: MIN(키)를 사용하므로 최장신이 아니라 최단신 기준이다.
- 3번: 팀별 상관 조건이 있으므로 전체 최단신 한 명만 구하는 것이 아니다.
- 4번: 조건에 맞는 값이 없으면 NULL이 들어간다.
보충 개념 UPDATE의 스칼라 서브쿼리는 행별로 평가된다. 일치하는 결과가 없으면 대상 컬럼이 NULL로 바뀔 수 있다는 점을 주의해야 한다.