Referencing the query_name
more than once in the query definition:
WITH RECURSIVE query_name (c) AS (
VALUES (1)
UNION
SELECT x FROM query_name JOIN base_table
ON base_table.x = query_name.c
UNION
SELECT y FROM query_name JOIN base_table
ON base_table.y = query_name.c
)
SELECT *
FROM query_name
Tutorial: With
— Organize Complex Queries
Other forms: cycle … set … to … default … using
, with
, with recursive
, with
in subquery, with recursive
in subquery.
Product specific forms: connect by
.
The with recursive
clause is defined in ISO/IEC 9075-2:2023 §7.17 as part of optional feature T131, “Recursive query” but non-linear recursion is prohibited in ISO/IEC 9075-2:2023 §7.17 SR 3jx.
You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Twitter or RSS to gradually catch up and to keep modern-sql.com on your radar.
The essence of SQL tuning in 200 pages
Buy now!
(paperback and/or PDF)
Paperback also available at Amazon.com.
Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »