1 から 10 までの自然数の合計を出すプログラムを SELECT 文のみを使って書きなさい
ただし入力は始点と終点のみとし、他の数値は適当に生成すること。
元ネタ:1から10までの自然数の合計を出すプログラムをプリプロセッサを使って書きなさい - 危ないRiSKのブログ
WITH Input(from_, to_) AS (SELECT 1, 10) , Inputs(i, n) AS ( SELECT from_ , to_ FROM Input UNION ALL SELECT i + 1 , n - 1 FROM Inputs WHERE n <> 1 ) SELECT SUM(i) FROM Inputs
合計の方じゃなくて、入力を生成するために再帰 (ループ) が必要という・・・
でもほら、よく見ると Haskell のコードと似てませんか?
sum [1..10]
うん、同じだね。同じだ。同じだ・・・