[MySQL] WITH 재귀(RECURSIVE) 쿼리 계층구조
2020. 7. 20. 15:02ㆍDataBase/MySQL
반응형
주의 !! mysql 5.7 이하 미지원
■ WITH RECURSIVE 문
- 메모리 상에 가상의 테이블을 저장
- 재귀 쿼리를 이용하여 실제로 테이블을 생성하거나 데이터삽입(INSERT)을 하지 않아도 가상 테이블을 생성할 수 있다.
WITH RECURSIVE 테이블명 AS(
SELECT 초기값 AS 컬럼별명1
UNION ALL
SELECT 컬럼별명1 계산식 FROM 테이블명 WHERE 제어문
)
반응형
■ 예시
h(컬럼)이 초기값 1 부터 제어문에 합당하는 5까지의 데이터를 갖는 가상 테이블 생성
WITH RECURSIVE CTE AS(
SELECT 1 AS h
UNION ALL
SELECT h+1 FROM CTE WHERE h<5
)
SELECT * FROM CTE;
반응형
※ 결과 확인
반응형
'DataBase > MySQL' 카테고리의 다른 글
[MySQL] 행, 열 변환 작업 (0) | 2021.08.04 |
---|---|
[MySQL] AUTO_INCREMENT 초기화 (0) | 2021.02.01 |
[MySQL] CASE 문 (0) | 2020.07.20 |
[MySQL] DATE_FORMAT 날짜데이터 형식 변환 (0) | 2020.07.20 |
[DB] MySQL 트랜잭션(Transaction) 예시 및 정리 (0) | 2020.06.10 |