여정의 기록
[MySql] WITH RECURSIVE 가상 테이블 이용하기 본문
728x90
MySql에서도 반복문을 이용해 원하는 조건의 정보로 추출할 수 있다.
WITH RECURSIVE 테이블명1 AS (
원하는 조건
반복문 ...
)
SELECT 테이블명1.SELECT된 값
, IF문
일단 상단과 같이 원하는 테이블1을 생성하고 해당 가상 테이블을 아래에서 다시 수정하게 된다.
반복문의 경우
SELECT 0 AS CNT
UNION ALL
SELECT CNT + 1 FROM 테이블명1
WHERE CNT < 10
1. 초기값을 설정한다.
2. UNION ALL을 이용해 반복문을 덧붙일수 있다.
3. SELECT에 원하는 결과물을 적으면 된다.
3. WEHRE에 반복문의 조건을 쓴다.
SELECT 테이블명1.CNT
, CASE WHEN 테이블명2.CNT IS NULL THEN 0 ELSE CNT END AS CNT
여기서 조건문은
CASE 컬럼
WHEN 조건1 THEN 조건1의 값
ELSE 조건2의 값
END
의 구조로 진행된다.
만약 가상 테이블이 두가지이고 합치고 싶다면
FROM table1
LEFT JOIN table2
ON table1.CNT = table2.CNT
JOIN문을 사용하면 된다.
728x90
'공부 > Algorithm' 카테고리의 다른 글
[HackerRank] Python 'The Minion Game' (0) | 2023.07.11 |
---|---|
[MySql] SUBSTRING_INDEX 으로 VARCHAR를 .split() 해보자 (1) | 2023.01.17 |
SQL , LIKE % AND UPPER (0) | 2022.12.28 |
간단한 모델링 과정, 주의점 (0) | 2022.02.14 |
추천시스템_연관규칙(rule)(지지도,신뢰도,향상도, 의미없는 연관규칙 최소화) (0) | 2021.09.16 |