반응형
이전 포스팅에서
1. Oracle 에서 계층형 쿼리 사용법
2. Mysql 의 WITH 절
에 대해서 다룬 포스팅이 있다.
자세한 내용은 아래 참고 포스팅 참고 바란다.
이번 포스팅에서는 Mysql 에서 계층형 쿼리를 사용하는 방법이다.
바로 본론으로 들어가
예시 코드와 데이터를 먼저 확인해보면 아래와 같다.
- 데이터
id | parent_id |
1 | null |
2 | 1 |
3 | 1 |
4 | 2 |
5 | 2 |
6 | 3 |
7 | 3 |
위 데이터를 그림으로 나타내면 아래와 같다.
└── 1
└── 2
│ └── 4
│ └── 5
└── 3
└── 6
└── 7
그럼 이제 이 데이터로 계층형 쿼리를 뽑아보면 아래와 같다.
WITH RECURSIVE sub_table (id,parent_id) AS ( SELECT id, parent_id FROM main_table WHERE id = 1 UNION ALL SELECT t.id, t.parent_id FROM main_table t, sub_table r WHERE t.parent_id = r.id ) SELECT * FROM sub_table ; |
id = 1 에 설정된 id 를 기준으로 하위 데이터를 모두 보여준다.
참고 포스팅
https://thenicesj.tistory.com/493
https://thenicesj.tistory.com/1104
반응형
'IT > Database' 카테고리의 다른 글
[Error] with is not valid at this position for this server version (11) | 2024.11.05 |
---|---|
[Mysql] WITH 절 구문 (16) | 2024.11.02 |
[Mysql] ROWNUM 사용 (12) | 2024.10.10 |
[Mysql] [Error] ERROR 1426: Too-big precision 10 specified for 'column'. Maximum is 6. (13) | 2024.10.08 |
[Mysql] can't create test file lower-test (11) | 2024.10.04 |
댓글