SQLDSQL 활용IN난이도 2MCQ

SQLD IN 기출문제 #3660

문제

다음 SQL의 IN 절에 대한 설명으로 적절하지 않은 것은?

SQL
SELECT * FROM 부서 D WHERE D.DEPTNO IN ( SELECT E.DEPTNO FROM 사원 E WHERE E.EMPNM IN ('JOHN', 'SMITH') );

① 서브쿼리가 여러 행을 반환해도 IN 절에서 비교할 수 있다. ② 서브쿼리 결과에 동일한 DEPTNO가 여러 번 나와도 IN 비교 자체는 가능하다. ③ JOHN이라는 이름의 사원이 두 명이면 반드시 오류가 발생한다. ④ IN은 목록 중 하나와 일치하는지 판단하는 연산자이다.

정답

3

해설

정답: 3. IN 절은 다중 행 결과를 처리할 수 있으므로 JOHN이라는 이름의 사원이 여러 명이어도 그 자체로 오류가 발생하지 않는다.

오답 풀이

  • 1번: IN 절은 다중 행 서브쿼리와 함께 사용할 수 있다.
  • 2번: 중복 값이 있어도 IN 비교는 가능하다.
  • 3번: 단일 행 서브쿼리가 아니므로 여러 명이어도 오류가 아니다.
  • 4번: IN의 기본 의미이다.

보충 개념 IN은 서브쿼리 결과 집합에 비교 값이 포함되는지 확인한다. 단일 행 비교 연산자 = 와 달리 여러 행이 반환되어도 사용할 수 있다.

SQLD 시험 준비 가이드

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

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

[SQLD] IN SQL 활용 기출 #3660 | 문어CBT