더북(TheBook)

두 가지 점이 눈에 띈다. 먼저 어느 달의 데이터인지 구분할 방법이 없다. 예를 들어 처음 로우 데이터 두 개는 10월과 11월의 액세서리(Accessories) 매출 수량과 금액인데, 어떤 것이 10월 데이터인지 알 수 있는 방법이 없다. 5개월치 판매 데이터를 추출한 것이지만, 컬럼 이름은 OctQuantityOctSales이다. 이것은 UNION 쿼리에서 컬럼 이름을 첫 번째 SELECT 문에서 가져왔기 때문이다.

코드 3-10은 이 문제를 해결한 쿼리다.

코드 3-10 좀 더 다듬은 UNION 쿼리를 사용한 데이터 정규화

SELECT Category, ‘Oct’ AS SalesMonth, OctQuantity AS Quantity,

  OctSales AS SalesAmt

FROM SalesSummary

UNION

SELECT Category, ‘Nov’, NovQuantity, NovSales

FROM SalesSummary

UNION

SELECT Category, ‘Dec’, DecQuantity, DecSales

FROM SalesSummary

UNION

SELECT Category, ‘Jan’, JanQuantity, JanSales

FROM SalesSummary

UNION

SELECT Category, ‘Feb’, FebQuantity, FebSales

FROM SalesSummary;


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.