-
CTE
- CTE는 with절로 테이블 임시 생성해서 사용하는 것으로 from절의 서브쿼리와 동일하다.
-
재귀 CTE
- 투플을 for문처럼 만들어서 사용
- where절에 종료 조건이 들어감
(재귀 CTE는 처음 써보기 때문에 좀 더 연습해보는 게 좋겠다)
-
통계
- pivot
- mysql은 case문과 groupby로 만들어야함. oracle은 pivot 함수 사용
-
내장 함수
- 집단 함수
- group by로 생성된 그룹마다 하나의 투플 리턴
- 윈도우 함수
- 모든 투플을 리턴
- sum() over(), count() over() ... 등등
- over(partition by aaa) 이런 식으로 파티션을 나눠서 사용 가능
- 또한, rows/range절도 사용 가능
(해당 부분도 partition by 만 사용하는 것이 아닌 rows/range 연습 필요)
- 그룹 함수
-
그 외..
- case문에서 else를 생략하면 null 값이 들어감! -> 연산할 때 null은 연산하지 않기 때문에 0이 아닌 null로 두는 게 좋다.