Hiya_
๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ
Hiya_
Github
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155) N
    • ๐Ÿ’ปBackend (1) N
      • ๋ผ์ด์ง•์บ ํ”„ (6)
      • SSAFY | ์‹ธํ”ผ (2)
      • ์‹ ํ•œDS ๊ธˆ์œตSW ์•„์นด๋ฐ๋ฏธ (2)
    • ๐Ÿ“๋ฌธ์ œ ํ’€์ด (102)
      • ๐ŸงฉBaekjoon (47)
      • ๐ŸงฉProgrammers (42)
      • ๐ŸงฉSWExpertAcademy (10)
      • ๐ŸงฉSofteer (3)
    • ๐Ÿ“‚Language (31)
      • Python (3)
      • JAVA (2)
      • SQL (6)
      • English (19)
    • โœจUseful information (5)
    • ๐Ÿ”‘Algorithms (3)
    • ๐Ÿ™Git (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ฝ”ํ…Œ
  • Union
  • ๋ฐฑ์ค€
  • ํ† ์ต์ ์ˆ˜
  • ์™„์ „ํƒ์ƒ‰
  • ํ† ์ตRC
  • mysql
  • BFS
  • BaekJoon
  • ํ† ์ต๊ธฐ์ถœ
  • ์˜ค๋ธ”์™„
  • greedy algorithm
  • ํ† ์ต๋ฌด๋ฃŒ๊ฐ•์˜
  • ๊ทธ๋ฆฌ๋””
  • sort
  • 2์ฐจ์› ๋ฐฐ์—ด
  • ํ•ด์ปค์Šคํ† ์ต
  • ํ† ์ต๋…ํ•™
  • ํ† ์ต๊ณต๋ถ€
  • UNION ALL
  • ํ† ์ต์‹œํ—˜
  • ํ•ด์ปค์ŠคํŒŒ๋žญ์ด
  • ๋ฆฌ์ŠคํŠธ
  • ์ •๋ ฌ
  • ๋‹ค์ต์ŠคํŠธ๋ผ
  • ํ† ์ต๋ฌด๋ฃŒ์ž๋ฃŒ
  • ๋‚ด์žฅํ•จ์ˆ˜
  • Python
  • ๊ตฌํ˜„
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ


Owner : ๊น€์‹ ์˜
Naver Blog

hELLO ยท Designed By ์ •์ƒ์šฐ.
Hiya_

๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ

[MySQL] WITH RECURSIVE | ์ž„์˜ ํ…Œ์ด๋ธ” ์‚ฌ์šฉํ•˜๊ธฐ | ์žฌ๊ท€ ์ฟผ๋ฆฌ
๐Ÿ“‚Language/SQL

[MySQL] WITH RECURSIVE | ์ž„์˜ ํ…Œ์ด๋ธ” ์‚ฌ์šฉํ•˜๊ธฐ | ์žฌ๊ท€ ์ฟผ๋ฆฌ

2023. 2. 20. 14:45

 

Programmers SQL ๊ณ ๋“์  Kit ์—์„œ WITH RECURSIVE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

์ž„์˜์˜ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ  Joinํ•˜์—ฌ ํ’€์ดํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค

 

์ฒ˜์Œ ๋งˆ์ฃผํ•˜๋Š” ๋ฌธ๋ฒ•์ด์—ˆ๊ณ , ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ธ€ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

 


WITH RECURSIVE

์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด recursive(์žฌ๊ท€์ ์ธ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ UNION ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

2023.02.08 - [๐Ÿ“‚Language/SQL] - [MySQL] NULL๊ฐ’ ๋ณ€๊ฒฝ(์น˜ํ™˜) ์ถœ๋ ฅ | UNION | ๋ฌธ์ž์—ด ๋ถ€๋ถ„ ์ถœ๋ ฅ | DATE ํƒ€์ž… ์ถœ๋ ฅ ํ˜•์‹ ์ง€์ •

 

[MySQL] NULL๊ฐ’ ๋ณ€๊ฒฝ(์น˜ํ™˜) ์ถœ๋ ฅ | UNION | ๋ฌธ์ž์—ด ๋ถ€๋ถ„ ์ถœ๋ ฅ | DATE ํƒ€์ž… ์ถœ๋ ฅ ํ˜•์‹ ์ง€์ •

์•ˆ๋…•ํ•˜์“ฐ์š”~ ์˜ค๋Š˜์˜ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค ํ•œ๋™์•ˆ SQL๊ด€๋ จ ๊ธ€๋“ค์€ Programmers School์— SQL ๊ณ ๋“์  Kit ๋ฌธ์ œ๋“ค์„ ํ’€๋ฉด์„œ ๋ชฐ๋ž๋˜, ๊นŒ๋จน์—ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

seen-young.tistory.com

 

 

 

1. UNION ALL์„ ๊ธฐ์ค€์œผ๋กœ ์ƒ๋‹จ SELECT๋Š” 1ํšŒ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ <cloum>๋ช…์„ ๊ฐ€์ง€๋Š” <table>์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

2. ์ดํ›„ ํ•˜๋‹จ SELECT๋ฌธ์„ ์—ฐ์† ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

     ์•ž์„œ ์ƒ์„ฑํ•œ <table>๋กœ ๋ถ€ํ„ฐ <column>์˜ ๋งˆ์ง€๋ง‰ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

     ( +1 ๋“ฑ ์—ฐ์†์ ์ธ ๊ฐ’์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ?)

3. ๋‹ค์Œ์€ ๋ฐ˜๋ณต์„ ์–ธ์ œ๊นŒ์ง€ ์‹œํ–‰ํ•  ๊ฒƒ์ธ์ง€ WHERE๋ฌธ์œผ๋กœ ๋ฐ˜๋“œ์‹œ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

WITH RECURSIVE <table> AS(
	SELECT <data> as <column>
    	UNION ALL
    	SELECT <column> FORM <table>
    	WHERE <์กฐ๊ฑด๋ฌธ>
    )

 

 

 

์˜ˆ์ œ ์ฝ”๋“œ

WITH RECURSIVE temp as(
	SELECT 0 as h
    UNION ALL
    SELECT h+1 FROM temp
    WHERE 23 < 0
    )
    
SELECT * FROM temp

๊ฒฐ๊ณผ

 

 

 

๊ฒฐ๊ณผ๋ฅผ ๋ณด๋‹ˆ ํ•ด๋‹น ๋ฌธ๋ฒ•์— ๋Œ€ํ•œ ๊ฐ์ด ์˜ค์‹œ๋‚˜์š”?! ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ฉด์„œ ํ™•์‹คํ•ด ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค์–ด ๋ด…์‹œ๋‹ค!

 

 

<์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ(2)>

https://school.programmers.co.kr/learn/courses/30/lessons/59413

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

 

 

 

 

 


REFERENCE

https://inpa.tistory.com/entry/MYSQL-%F0%9F%93%9A-RECURSIVE-%EC%9E%AC%EA%B7%80-%EC%BF%BC%EB%A6%AC

 

[MYSQL] ๐Ÿ“š RECURSIVE (์žฌ๊ท€ ์ฟผ๋ฆฌ)

WITH RECURSIVE ๋ฌธ (์žฌ๊ท€ ์ฟผ๋ฆฌ) ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ๋“ค์–ด๋ดค๋“ฏ์ด, SQL์—์„œ๋„ ์žฌ๊ท€ ์ฟผ๋ฆฌ ๊ธฐ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค. ๋‹ค๋งŒ ๋ฌธ๋ฒ•์ด ๊ต‰์žฅํžˆ ํ•ด๊ดดํ•œ๋ฐ ์šฐ์„  WITH RECURSIVE ์ฟผ๋ฆฌ๋ฌธ์„ ์ž‘์„ฑํ•˜๊ณ  ๋‚ด๋ถ€์— UNION์„ ํ†ตํ•ด

inpa.tistory.com

 

'๐Ÿ“‚Language > SQL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

SQL ๊ตฌ๋ฌธ ์‹คํ–‰ ์ˆœ์„œ | from - where - group by - having - select - order by  (0) 2024.07.06
[MySQL] UNION ๊ณผ UNION ALL ์ฐจ์ด์   (0) 2023.03.14
[MySQL] ์ˆซ์ž ๋ฒ„๋ฆผ(TRUNCATE) | ๋ฐ˜์˜ฌ๋ฆผ(ROUND)  (0) 2023.02.20
[MySQL] NULL๊ฐ’ ๋ณ€๊ฒฝ(์น˜ํ™˜) ์ถœ๋ ฅ | UNION | ๋ฌธ์ž์—ด ๋ถ€๋ถ„ ์ถœ๋ ฅ | DATE ํƒ€์ž… ์ถœ๋ ฅ ํ˜•์‹ ์ง€์ •  (0) 2023.02.08
[MySQL] ์ค‘๋ณต๊ฐ’ ์ œ์™ธ(GROUP BY, DISTINCT) | NULL ๊ฐ’ ์ œ์™ธ(IS id NOT NULL)  (0) 2023.02.04
    '๐Ÿ“‚Language/SQL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [MySQL] UNION ๊ณผ UNION ALL ์ฐจ์ด์ 
    • [MySQL] ์ˆซ์ž ๋ฒ„๋ฆผ(TRUNCATE) | ๋ฐ˜์˜ฌ๋ฆผ(ROUND)
    • [MySQL] NULL๊ฐ’ ๋ณ€๊ฒฝ(์น˜ํ™˜) ์ถœ๋ ฅ | UNION | ๋ฌธ์ž์—ด ๋ถ€๋ถ„ ์ถœ๋ ฅ | DATE ํƒ€์ž… ์ถœ๋ ฅ ํ˜•์‹ ์ง€์ •
    • [MySQL] ์ค‘๋ณต๊ฐ’ ์ œ์™ธ(GROUP BY, DISTINCT) | NULL ๊ฐ’ ์ œ์™ธ(IS id NOT NULL)
    Hiya_
    Hiya_
    ํ•˜์–€ ์ฒœ๊ณผ ๋ฐ”๋žŒ๋งŒ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”