Tuesday, 4 May 2021

SQL Recursion

-- Recursive SQL
WITH t(n) AS (
  SELECT 1
  UNION ALL
  SELECT n+1 FROM t WHERE n< 5
)

SELECT n
FROM t


-- Data Generation with Recursive SQL
WITH
    t1(v1, v2) AS (SELECT 1, 2),
    t2(w1, w2) AS (
        SELECT v1 * 2, v2 * 2
        FROM t1
)

SELECT *
FROM t1, t2


No comments:

SQL: Generate a range of numbers

SELECT ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n FROM       (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),      (VALU...