데이터베이스/MySQL
[MySql] 코딩테스트용 정리 (5) WITH RECURSIVE
waterground
2021. 12. 28. 20:26
목차
WITH RECURSIVE
- 메모리 상에 가상의 테이블을 만드는 방법이다.
- 컬럼 이름은 1개 이상 가능하다.
WITH RECURSIVE 테이블이름(컬럼이름) AS (
SELECT 초기값
UNION ALL
SELECT 컬럼이름 계산식 FROM 테이블이름 WHERE 제어문
)
-- 아래의 경우도 가능
WITH RECURSIVE 테이블이름 AS(
SELECT 초기값 AS 컬럼이름
UNION ALL
SELECT 컬럼이름 계산식 FROM 테이블이름 WHERE 제어문
)
-- 0에서 23시까지의 시간 목록 테이블 만들기
WITH RECURSIVE TIMETABLE(HOUR) AS (
SELECT 0
UNION ALL
SELECT HOUR + 1 FROM TIMETABLE WHERE HOUR < 24
)