MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿ’Ž DataBase/๐Ÿ’Ž SQL-PL,SQL

หšโ‚Šโœฉโ€งโ‚Š [SQL] HIERARCHICAL QUERY ๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2024. 6. 20. 02:43

[ ๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ ]

์ƒํ•˜์œ„ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ƒํ•˜ ๊ด€๊ณ„๋ฅผ ํ‘œ์‹œํ• ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ

๊ณ„์ธต ๊ด€๊ณ„๊ฐ€ ๋ณด์ด๊ฒŒ ์ถœ๋ ฅํ•˜๋Š” ์ฟผ๋ฆฌ

 


[๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ ๋ฌธ๋ฒ•]

- START WITH ์‹œ์ž‘ ์กฐ๊ฑด ์ฐพ๊ธฐ

- CONNECT BY ์—ฐ๊ฒฐ ์กฐ๊ฑด์„ ์ฐพ๊ธฐ

- WHERE ์กฐ๊ฑด์„ ๊ฒ€์ƒ‰

 

- CONNECT BY ์—๋Š” SUB QUERY ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ

- ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋“ค ๊ฒฝ์šฐ ์˜ค๋žœ ์‹œ๊ฐ„ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ๊ฐ๊ฐ ์ปฌ๋Ÿผ์— ๋ฐ˜๋“œ์‹œ ์ธ๋ฑ์Šค๊ฐ€ ์ ์ ˆํžˆ ์„ค์ •๋˜์–ด์•ผํ•จ

SELECT
    <์ปฌ๋Ÿผ ๋ชฉ๋ก>,
    LEVEL
FROM
    <ํ…Œ์ด๋ธ” ์ด๋ฆ„>
START WITH
    <๋ฃจํŠธ ์กฐ๊ฑด>
CONNECT BY PRIOR
    <์ƒ์œ„-ํ•˜์œ„ ๊ด€๊ณ„ ์กฐ๊ฑด>
SELECT LPAD(ename,LEVEL*4,'*') "ENAME"
FROM emp
CONNECT BY PRIOP empno = mgr
START WITH empno = 7839;

 

 

[๊ณ„์ธตํ˜• ์ฟผ๋ฆฌ ๊ธฐ๋ณธ ๊ตฌ์กฐ]

  • SELECT: ์ถœ๋ ฅํ•  ์ปฌ๋Ÿผ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ณ„์ธต ๋ ˆ๋ฒจ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด LEVEL ๊ฐ€์ƒ ์ปฌ๋Ÿผ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • FROM: ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ํ…Œ์ด๋ธ”์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • START WITH: ๊ณ„์ธต ๊ตฌ์กฐ์˜ ์‹œ์ž‘์ ์„ ์ •์˜ํ•˜๋Š” ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฃจํŠธ ๋…ธ๋“œ์˜ ์กฐ๊ฑด์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • CONNECT BY PRIOR: ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค. PRIOR ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€๋ชจ ํ•ญ๋ชฉ์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

 

[๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ์ผ๋ถ€๋ถ„๋งŒ ๊ณ„์ธตํ™” ํ•˜๊ธฐ]

 


[CONNECT_BY_ISLEAF()]

 


[CONNECT_BY_ROOT]