본문 바로가기
TIL - 프로그래밍/SQL

[SQL] WITH 절 / WITH RECURSIVE 절

by chaemj97 2023. 7. 6.
728x90

WITH 절

임시테이블 or 가상 테이블

반복되는 서브쿼리 블록을 하나의 WITH 절 블록으로 만들어서 사용 가능

한 번 실행할 쿼리문 내 정의하여 해당 쿼리 안에서만 실행

# 가상 테이블 만들기
WITH 이를 지칭할 테이블명(new) AS (
	서브쿼리
)

# 사용
SELECT new.id
FROM new;

WITH RECURSIVE 절

가상 테이블을 생성하면서 가상 테이블 자신의 값을 참조하여 값을 결정할 때 사용

-- 0~23 시간 컬럼 만들기
WITH RECURSIVE TIME_HOUR AS (
    SELECT 0 AS H
    UNION
    SELECT H+1 FROM TIME_HOUR WHERE H < 23
)
728x90
반응형

댓글