Which of the following is the correct syntax to reference one CTE inside another in SQL?
easy📝 Syntax Q12 of 15
SQL - Common Table Expressions (CTEs)
Which of the following is the correct syntax to reference one CTE inside another in SQL?
AWITH cte1 AS (SELECT * FROM table1), cte2 AS (SELECT * FROM cte1 WHERE id > 10) SELECT * FROM cte2;
BWITH cte1 AS (SELECT * FROM table1) SELECT * FROM cte1; WITH cte2 AS (SELECT * FROM cte1 WHERE id > 10);
CCREATE CTE cte1 AS SELECT * FROM table1; CREATE CTE cte2 AS SELECT * FROM cte1 WHERE id > 10;
DSELECT * FROM cte1; WITH cte2 AS (SELECT * FROM cte1 WHERE id > 10);
Step-by-Step Solution
Solution:
Step 1: Review correct CTE syntax
Multiple CTEs are defined together after WITH, separated by commas, and can reference each other.
Step 2: Check each option
WITH cte1 AS (SELECT * FROM table1), cte2 AS (SELECT * FROM cte1 WHERE id > 10) SELECT * FROM cte2; correctly defines cte1, then cte2 referencing cte1, then selects from cte2. Others misuse WITH or CREATE keywords.
Final Answer:
WITH cte1 AS (SELECT * FROM table1), cte2 AS (SELECT * FROM cte1 WHERE id > 10) SELECT * FROM cte2; -> Option A
Quick Check:
Multiple CTEs separated by commas = A [OK]
Quick Trick:Use one WITH clause for all CTEs, separated by commas [OK]
Common Mistakes:
Using multiple WITH clauses separately
Trying to CREATE CTEs like tables
Placing SELECT before WITH
Master "Common Table Expressions (CTEs)" in SQL
9 interactive learning modes - each teaches the same concept differently