pbj0812의 코딩 일기

[MySQL] WITH RECURSIVE 구문을 이용한 구구단 만들기 본문

ComputerLanguage_Program/SQL

[MySQL] WITH RECURSIVE 구문을 이용한 구구단 만들기

pbj0812 2020. 6. 18. 23:39

0. 목표

 - with recursive 구문을 통한 구구단 작성

1. 실습

 - MySQL 8 이상만 가능

 1) WITH RECURSIVE를 이용

 2) gugu 라는 테이블이 n을 가지게 함.

 3) n의 기본값을 1로 주고, n이 9보다 작다면 n을 +1씩 늘림(n이 9까지 증가)

  => 이렇게 되면 gugu 테이블에는 1, 2, 3, 4, 5, 6, 7, 8, 9의 값이 저장되게 됨.

 4) cross join 을 걸어 모든 경우의 수를 구함

  => 즉, 1, 2, 3, 4, 5, 6, 7, 8, 9 x 1, 2, 3, 4, 5, 6, 7, 8, 9 의 수가 나오게 됨.

WITH RECURSIVE 
gugu(n) AS
(
SELECT 1
union all
SELECT n+1 from gugu where n < 9
)
SELECT gugu.n * gugu2.n from gugu
cross join gugu as gugu2; 

 - 결과

2. 참고

 - Recursive CTE

 - CROSS JOIN

Comments