피벗(PIVOT)의 사전적 의미는 물체가 회전하는데 사용하는 회전축(중심축)을 뜻한다. 데이터를 다루는 데 있어 피벗 역시, 회전축(중심축)을 기준으로 데이터를 회전시키는 기법을 이야기한다. SQL에서 피벗은 다음과 같이 요약할 수 있다.

앞에서 이미 CASE를 설명했다. PIVOT 기능을 구현하기 위해서는 CASE를 사용해야 하므로 간단히 복습해보도록 하자.
아래는 CASE를 사용해 주문일자에 따라 각각 컬럼을 추가해서 보여주는 SQL이다. 주문일자가 2022년 1월 1일이면 AMT_01 컬럼에, 2022년 1월 2일이면 AMT_02에 값을 보여주고 있다.
-- [SQL-10-2-2-a] 주문일자에 따라 컬럼을 분리해서 표현
SELECT T1.ShopID ,T1.OrdNo ,T1.OrdDtm ,T1.OrdAmt
,CASE WHEN DATE_FORMAT(T1.OrdDtm,'%Y%m%d') = '20220101' THEN T1.OrdAmt END AMT_01
,CASE WHEN DATE_FORMAT(T1.OrdDtm,'%Y%m%d') = '20220102' THEN T1.OrdAmt END AMT_02
FROM startdb.Ord T1
WHERE T1.OrdDtm >= STR_TO_DATE('20220101','%Y%m%d')
AND T1.OrdDtm < STR_TO_DATE('20220103','%Y%m%d')
AND T1.ShopId = 'S003'
ORDER BY T1.ShopID, T1.OrdDtm;
ShopID OrdNo OrdDtm OrdAmt AMT_01 AMT_02
------ ----- ------------------- -------- -------- --------
S003 25278 2022-01-01 08:00:00 4000.000 4000.000 NULL
S003 25281 2022-01-02 08:00:00 4500.000 NULL 4500.000
S003 25295 2022-01-02 10:00:00 8000.000 NULL 8000.000
S003 25311 2022-01-02 10:00:00 3500.000 NULL 3500.000
S003 25334 2022-01-02 11:00:00 8500.000 NULL 8500.000