부서별 한 명의 급여를 스칼라 서브쿼리로 표시하려고 다음 SQL을 실행했다. 부서 10에는 급여 400과 500인 사원이 둘, 부서 20에는 급여 600인 사원이 하나, 부서 30에는 사원이 없다. 실행 결과로 옳은 것은?
SELECT d.dept_id, (SELECT e.salary FROM employee e WHERE e.dept_id = d.dept_id) AS salary FROM department d ORDER BY d.dept_id
정답 1번
스칼라 서브쿼리는 0행이면 NULL로 평가되지만 둘 이상의 행을 반환하면 한 값으로 사용할 수 없어 오류가 발생한다. 한 값을 원하면 MAX 같은 명시적 집계나 순위 기준으로 반환 행을 하나로 제한해야 한다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-22