컴퓨터 과학/[프로그래머스] SQL DB Essentials

Chapter 11 CTE와 통계 테이블

계란💕 2022. 3. 28. 11:07

1. CTE(Common Table Expression)

  - 질의 내에서 이름을 갖는 중간 결과를 임시로 생성한다.

  - CTAS와 다르게 테이블을 생성하지 않는다.

  - FROM절 서브쿼리와 기능이 동일하다.

 

 

2. 재귀 CTE (Recurrsixe CTE)

  - 초기값으로 주어진 투플을 이용햇 재귀적으로 연속해서 다음 투플을 생성한다.

 

 

  Ex) Date Series 생성 (중요)

  - GROUP BY orderDate

  - SELECT COUNT(*) .. 주문횟수

    -> 모든 날짜를 생성하려면? 

    -> SELECT date + INTERVAL 1 DAY

 

 

3. pivot 기능

  - 피벗 컬럼 값으로 새로운 컬럼을 생성한다.

  - CASE절과  집단 함수 / GROUP BY절을 이용해서 구현

 

 

 

4. 집단함수에서의 NULL처리

  - 집단함수 내에서 COALESCE()함수는 피한다. (계산량이 증가하기 때문에)

  - 집단함수 밖에서 COARESCE()를 쓰는게 적합하다.