answer
WITH RECURSIVE tri
AS (
SELECT 20 as n
UNION ALL
SELECT n - 1
FROM tri
WHERE n > 0
)
SELECT REPEAT('* ', n)
FROM tri
OUTPUT
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
REPEAT(문자열, 횟수) : 지정된 문자열을 정해진 횟수만큼 반복해서 새로운 문자열을 만드는 함수
REVERSE(문자열) : 문자열을 뒤집어서 반환하는 문자열 함수
SPACE(길이) : 지정한 길이만큼 공백 문자열 생성
LPAD(원본문자열, 원하는총길이, 채울문자) : 원하는 총 길이에서 원본문자열을 제외하고 남는 길이만큼 설정한 채울문자만큼 왼쪽에 붙여 전체 길이를 length에 맞춘다.