SQLD데이터베이스 구축난이도 4MCQ

SQLD 데이터베이스 구축 기출문제 #5031

문제

다음 SQL문에서 서브쿼리가 여러 행을 반환할 때 오류가 발생하는 것은?

① SELECT * FROM 직원 WHERE 부서코드 IN (SELECT 부서코드 FROM 부서 WHERE 지역 = '서울') ② SELECT * FROM 직원 WHERE 부서코드 = ANY (SELECT 부서코드 FROM 부서 WHERE 지역 = '서울') ③ SELECT * FROM 직원 WHERE 부서코드 = (SELECT 부서코드 FROM 부서 WHERE 지역 = '서울') ④ SELECT * FROM 직원 WHERE EXISTS (SELECT 1 FROM 부서 WHERE 부서.부서코드 = 직원.부서코드 AND 지역 = '서울')

정답

3

해설

③번의 = 연산자는 서브쿼리가 반드시 단일 값을 반환해야 하는데, 서울 지역에 여러 부서가 있다면 다중 행을 반환하여 오류가 발생한다. ①번의 IN, ②번의 ANY, ④번의 EXISTS는 모두 다중 행 서브쿼리를 처리할 수 있다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 데이터베이스 구축 기출 #5031 | 문어CBT