SQLDSQL 활용단일 행 서브쿼리난이도 2MCQ

SQLD 단일 행 서브쿼리 기출문제 #3717

문제

다음 SQL의 실행 결과로 가장 적절한 것은?

<조건> 동일한 연락처를 가진 회원이 2명 존재하며, 서브쿼리는 회원ID 1002, 1003 두 행을 반환한다.

SQL
SELECT * FROM 회원 WHERE 회원ID = ( SELECT 회원ID FROM 회원 WHERE 연락처 = '010-1111-2222' );

① 회원ID 1002만 조회된다. ② 회원ID 1003만 조회된다. ③ 회원ID 1002와 1003이 모두 조회된다. ④ 단일 행 서브쿼리가 여러 행을 반환하여 오류가 발생한다.

정답

4

해설

정답: 4. = 연산자는 단일 행 서브쿼리를 기대하므로 서브쿼리가 2개 이상의 행을 반환하면 오류가 발생한다.

오답 풀이

  • 1번: 여러 행 중 임의로 하나만 선택하지 않는다.
  • 2번: 여러 행 중 임의로 하나만 선택하지 않는다.
  • 3번: 여러 값을 비교하려면 = 대신 IN 등을 사용해야 한다.
  • 4번: 단일 행 서브쿼리 반환 행 수 초과 오류가 발생한다.

보충 개념 단일 행 비교 연산자에는 서브쿼리 결과가 반드시 1행이어야 한다. 여러 행과 비교하려면 IN, ANY, ALL 같은 다중 행 연산자를 사용한다.

SQLD 시험 준비 가이드

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

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

[SQLD] 단일 행 서브쿼리 SQL 활용 기출 #3717 | 문어CBT