result
Back to DuckDB Data Engineering Glossary
The result keyword in SQL is not commonly used across all database systems, but in DuckDB, it has a specific meaning within the context of recursive queries. When writing a recursive Common Table Expression (CTE), result is used to reference the output of the previous iteration of the recursive part. This allows you to build upon the results of each recursive step.
Here's an example using DuckDB to generate a sequence of numbers:
Copy code
WITH RECURSIVE countdown(n) AS (
SELECT 5 AS n -- Base case
UNION ALL
SELECT n - 1 -- Recursive case
FROM result -- 'result' refers to the previous iteration
WHERE n > 0
)
SELECT * FROM countdown;
This query will produce:
Copy code
n
---
5
4
3
2
1
The result keyword helps create powerful recursive queries for tasks like traversing hierarchical data structures or generating sequences. It's important to note that not all database systems use result in this way, so this usage is specific to DuckDB's implementation of recursive CTEs.

