SQLDSQL 활용UNPIVOT난이도 3MCQ

SQLD UNPIVOT 기출문제 #3797

문제

다음 UNPIVOT 결과에 포함되는 AMOUNT_TYPE 값으로 가장 적절한 것은?

<원본>

IDAMOUNT1AMOUNT2AMOUNT3
1102030
SQL
SELECT ID, AMOUNT_TYPE, AMOUNT FROM T UNPIVOT ( AMOUNT FOR AMOUNT_TYPE IN (AMOUNT3, AMOUNT2, AMOUNT1) );

① AMOUNT1만 포함된다. ② AMOUNT3, AMOUNT2, AMOUNT1이 포함된다. ③ AMOUNT2만 포함된다. ④ 모든 AMOUNT 값이 NULL로 출력된다.

정답

2

해설

정답: 2. UNPIVOT은 IN 목록에 지정된 여러 컬럼을 행으로 변환한다. 따라서 AMOUNT3, AMOUNT2, AMOUNT1이 AMOUNT_TYPE 값으로 포함된다.

오답 풀이

  • 1번: AMOUNT1 하나만 변환되는 것이 아니다.
  • 2번: IN 목록에 지정된 세 컬럼이 모두 행으로 변환된다.
  • 3번: AMOUNT2 하나만 변환되는 것이 아니다.
  • 4번: 원본 값이 10, 20, 30으로 존재하므로 모두 NULL이 아니다.

보충 개념 UNPIVOT은 여러 컬럼을 행으로 변환한다. 결과 행의 출력 순서가 중요하면 ORDER BY를 별도로 작성해야 한다.

SQLD 시험 준비 가이드

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

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

[SQLD] UNPIVOT SQL 활용 기출 #3797 | 문어CBT