SQLでProject Euler − Problem 06

/**
【問題】
最初の10個の自然数について、その和の二乗と、二乗数の和は以下の通り。
1² + 2² + ... + 10² = 385
(1 + 2 + ... + 10)² = 3025
これらの数の差は 3025 - 385 = 2640 となる。
同様にして、最初の100個の自然数について和の二乗と二乗の和の差を求めよ。
**/

WITH temp(x,y)
AS
(
	SELECT 1,1
UNION ALL
	SELECT
		t.x + 1
		, (t.x + 1) * (t.x + 1)
	FROM temp t
	WHERE t.x < 100
)
SELECT (sum(x) * sum(x)) - sum(y)
FROM temp t
OPTION (MAXRECURSION 0)