1
0
Fork 0
sqlglot/tests/fixtures/optimizer/eliminate_ctes.sql

116 lines
1 KiB
MySQL
Raw Permalink Normal View History

# 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
);