๋ชฉ์ฐจ
ํ ์ด๋ธ์ ๊ณ์ธตํ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ ์ฌ์ฉ(์กฐ์ง, ์ฌ์, ๋ฉ๋ด๋ฑ์ ์ํ๊ด๊ณ ๋ฑ์ ์ฌ์ฉ๋จ)
SELECT ...
[ CONNECT_BY_ISLEAF ISLEAF
FROM ํ
์ด๋ธ๋ช
START WITH condition
CONNECT BY PRIOR condition AND condition;
-- START WITH์ | ๊ณ์ธต๊ตฌ์กฐ ์ ๊ฐ์ ์์ ์์น๋ฅผ ์ง์ ํ๋ ๊ตฌ๋ฌธ
-- CONNECT BY ์ | ๋ค์์ ์ ๊ฐ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ๋ ๊ตฌ๋ฌธ
-----------------------------------------------------------------
-- ๊ณ์ธตํ์ฟผ๋ฆฌ
------------------------------------------------------------------
--PRIOR ์์ = ๋ถ๋ชจ _ ๋ถ๋ชจ -> ์์ ๋ฐฉํฅ์ผ๋ก ์ ๊ฐ
--PRIOR ๋ถ๋ชจ = ์์ _ ์์ -> ๋ถ๋ชจ ๋ฐฉํฅ์ผ๋ก ์ ๊ฐ
--1. ์๋ฐฉํฅ ์ ๊ฐ
SELECT LEVEL, ENAME,
LPAD(' ', 4 * (LEVEL-1)) || EMPNO ์ฌ์,
MGR,
CONNECT_BY_ISLEAF ISLEAF
FROM EMP
START WITH MGR IS NULL
CONNECT BY PRIOR EMPNO = MGR;

--2. ์ญ๋ฐฉํฅ ์ ๊ฐ
SELECT LEVEL, ENAME,
LPAD(' ', 4 * (LEVEL-1)) || EMPNO ์ฌ์,
MGR,
CONNECT_BY_ISLEAF ISLEAF
FROM EMP
START WITH EMPNO = 7876
CONNECT BY PRIOR MGR = EMPNO;

--3. ๋ฃจํธ์ ์์ฐจ์ ๊ณ์ธต๊ฒฝ๋ก
SELECT CONNECT_BY_ROOT EMPNO ๋ฃจํธ์ฌ์,
SYS_CONNECT_BY_PATH(EMPNO, '/') ๊ฒฝ๋ก,
EMPNO,
MGR
FROM EMP
START WITH MGR IS NULL
CONNECT BY PRIOR EMPNO = MGR;



์ฐธ์กฐ :
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dlscjf1505&logNo=220868957220
์ค๋ผํด ๊ณ์ธตํ ์ฟผ๋ฆฌ _ ORACLE
๊ณ์ธตํ ์ฟผ๋ฆฌ | Hierarchical Query ...
blog.naver.com

'IT > DataBase' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Oracle] ๋ฌ๋ ฅ ๋ง๋ค๊ธฐ (0) | 2023.04.01 |
|---|---|
| [SQL] update์์ case when์ ์ฌ์ฉ (0) | 2023.03.04 |
| [Oracle]ORACLE 12C SQL์ ์ถ๊ฐ๋ ์๋ก์ด ๊ธฐ๋ฅ (0) | 2022.11.29 |
| [MySQL/MariaDB] Update join... (0) | 2022.11.29 |
| [Oracle] Oracle ์ํ์ค ์์ฑ ์ฟผ๋ฆฌ (0) | 2022.11.29 |
๋๊ธ