2025-09-01 01:30

Tags: SQL

UNPIVOT

  • PIVOT과 반대로 여러 열을 행으로 변환해 데이터를 정규화 하는 기능

  • 넓은 데이터 (와이드 포맷) 긴데이터 (롱포맷)

  • 사람이 보기 편하게 와이드 포맷으로 만든걸 다시 컴퓨터가 다루기 좋은 롱포맷으로 변환

  • 보고서용 데이터를 분석용으로 변환할 때: 월별, 분기별, 항목별로 넓게 펼쳐진 데이터를 합계, 평균, 추세 분석 등을 위해 긴 형태로 바꿔야 할 때

  • 여러 열에 분산된 데이터를 집계할 때: 여러 열에 흩어져 있는 동일한 성격의 데이터(예: 각기 다른 센서에서 수집된 값)를 하나의 열로 모아 전체 통계를 내고 싶을 때

  • 데이터 정규화가 필요할 때: 데이터베이스 설계 원칙에 따라 테이블을 더 깔끔하고 관리하기 쉬운 구조로 재구성하고자 할 때 사용

  • 넓은 데이터 (Wide Format): 마치 우리가 엑셀에서 흔히 보는 피벗 테이블. 하나의 관측 대상(예: 한 명의 학생)에 대한 여러 속성(예: 국어 점수, 영어 점수, 수학 점수)이 각각의 ‘열’로 표현. 데이터를 요약해서 보거나 사람의 눈으로 읽기에는 매우 직관적.

StudentIDKoreanEnglishMath
101908595
102759288
  • 긴 데이터 (Long Format): 데이터베이스가 선호하는 형태, ‘Tidy Data’ 원칙을 따릅니다. 각 열은 하나의 변수(속성)를, 각 행은 하나의 관측치.
StudentIDSubjectScore
101Korean90
101English85
101Math95
102Korean75
102English92
102Math88