1
0
Fork 0
sqlglot/tests/fixtures/optimizer/eliminate_ctes.sql
Daniel Baumann fd9de5e4cb
Adding upstream version 20.3.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-13 21:17:33 +01:00

116 lines
No EOL
1 KiB
SQL

# title: CTE
WITH q AS (
SELECT
a
FROM x
)
SELECT
a
FROM x;
SELECT
a
FROM x;
# title: Nested CTE
SELECT
a
FROM (
WITH q AS (
SELECT
a
FROM x
)
SELECT a FROM x
);
SELECT
a
FROM (
SELECT
a
FROM x
);
# title: Chained CTE
WITH q AS (
SELECT
a
FROM x
), r AS (
SELECT
a
FROM q
)
SELECT
a
FROM x;
SELECT
a
FROM x;
# title: CTE reference in subquery where alias matches outer table name
WITH q AS (
SELECT
a
FROM y
)
SELECT
a
FROM x AS q
WHERE
a IN (
SELECT
a
FROM q
);
WITH q AS (
SELECT
a
FROM y
)
SELECT
a
FROM x AS q
WHERE
a IN (
SELECT
a
FROM q
);
# title: CTE reference in subquery where alias matches outer table name and outer alias is also CTE
WITH q AS (
SELECT
a
FROM y
), q2 AS (
SELECT
a
FROM y
)
SELECT
a
FROM q2 AS q
WHERE
a IN (
SELECT
a
FROM q
);
WITH q AS (
SELECT
a
FROM y
), q2 AS (
SELECT
a
FROM y
)
SELECT
a
FROM q2 AS q
WHERE
a IN (
SELECT
a
FROM q
);