WITH [RECURSIVE] TABLE명 AS (
SELECT - # 비반복문. 무조건 필수
[UNION ALL] # RECURSIVE 사용 시 필수. 다음에 이어붙어야 할 때 사용
SELECT -
[WHERE -] # RECURSIVE 사용 시 필수. 정지 조건 필요할 때 사용
)
출처: https://horang98.tistory.com/10 [horang:티스토리]
👀 WITH 구문
WITH 구문 이후에 오는 쿼리에서 임시 테이블의 테이블명을 사용하여 값을 참조할 수 있다.
- 예시
WITH CTE AS ( SELECT 0 AS NUM UNION ALL SELECT 0 FROM SOME_TABLE # SOME_TABLE의 행 수만큼 반복된다. )
👀 WITH RECURSIVE 구문
WITH RECURSIVE 구문은 가상 테이블을 생성하면서 가상 테이블 자신의 값을 참조하여 값을 결정할 때 사용된다.
- 예시
0 ~ 10의 값을 갖는 임시 테이블을 생성
WITH RECURSIVE CTE AS( SELECT 0 AS NUM # 초기값 설정 UNION ALL SELECT NUM+1 FROM CTE WEHRE NUM < 10 # 반복을 멈추는 조건 )
출처: https://horang98.tistory.com/10 [horang:티스토리]
'SQL' 카테고리의 다른 글
SQL 두 종류이상 동시 count()하기 (0) | 2022.10.29 |
---|---|
SQL 입양시각 구하기 (0) | 2022.10.27 |
SQL 우유와 요거트가 담긴 장바구니 (0) | 2022.10.26 |
SQL Group by 주의점 (0) | 2022.10.26 |
SQL 그룹별 최대값 (0) | 2022.10.26 |