AI 개발 공부 공간

AI, 머신러닝, 딥러닝, Python & PyTorch, 실전 프로젝트

SQLD/2과목 : SQL 기본 및 활용

2.16 피벗(PIVOT) & 언피벗(UNPIVOT)

qordnswnd123 2025. 7. 4. 11:24

📌 2.16 피벗(PIVOT) & 언피벗(UNPIVOT)

✅ 1. 피벗(PIVOT)이란?

  • 행의 데이터를 열(column)로 바꾸는 것.
  • 데이터를 보고서처럼 정리해서 보기 좋게 만들 때 사용.
  • 특히 엑셀 피벗테이블처럼 한눈에 통계 보기 좋게 정리하고 싶을 때 유용.

 

✅ 2. 언피벗(UNPIVOT)이란?

  • 열(column)의 데이터를 다시 행(row) 형태로 바꾸는 것.
  • 즉, 피벗의 반대.
  • 데이터 정규화나 분석용 가공 등에 활용됨.

 

✅ 3. 왜 시험에 나올까?

  • 2024년부터 시험 범위에 새롭게 추가됨.
  • 특히 엑셀 사용자들에게 익숙한 기능이고, SQL에서도 동일한 개념이 반영됨.
  • 실제 업무에서 통계표/보고서 작성 시 자주 활용됨.

 

✅ 4. 문법 포인트 – 외우는 공식

📍 PIVOT 문법

SELECT *
FROM (
   SELECT dept_name, job, empno
   FROM emp_table
)
PIVOT (
   COUNT(empno)
   FOR dept_name IN ('SALES' AS SALES, 'HR' AS HR, 'DEV' AS DEV)
);
  • COUNT(empno) → 집계할 값
  • FOR dept_name IN (...) → 열로 바꿀 컬럼 지정
  • AS를 써서 새로운 열 이름 지정 가능

📍 UNPIVOT 문법

 
SELECT *
FROM (
   SELECT job, SALES, HR, DEV
   FROM pivoted_table
)
UNPIVOT (
   emp_count FOR dept_name IN (SALES, HR, DEV)
);
  • 열들을 다시 행으로 펼칠 때 사용
  • emp_count는 새로 생길 열의 이름
  • dept_name은 열이었던 이름들이 값으로 들어가는 컬럼

 

✅ 5. 외우기 쉬운 요령

 

✅ 6. 시험 포인트

  • 피벗 문법의 PIVOT, FOR, IN, 집계함수 위치를 정확히 기억.
  • 열이름을 결과로 쓰는 방식에 익숙해질 것.
  • 언피벗에서는 열 → 값으로 전환됨을 주의.
  • 문제에서 결과 형태를 보고 피벗/언피벗 여부를 묻는 문제가 자주 출제될 가능성 있음.

 

🎯 정리 한 줄 요약

  • 피벗: 행 → 열 (보기 쉽게)
  • 언피벗: 열 → 행 (분석 쉽게)
  • 문법 구조는 암기, 표 형태 변화는 이해 중심

'SQLD > 2과목 : SQL 기본 및 활용' 카테고리의 다른 글

2.18 복합 쿼리 예제 3  (0) 2025.07.04
2.17 정규 표현식  (0) 2025.07.04
2.15 계층형 질의  (1) 2025.07.04
2.14 Top-N 쿼리  (0) 2025.07.04
2.13 윈도우 함수  (0) 2025.07.03