A scoped CTE name must point to exactly one result table.
one name only once
Read the valid name
The valid example has one CTE name: ActiveStudents.
duplicate name rejected
CTE examples are tiny finite-table transforms; recursive CTEs, materialization claims, optimizer behavior, SQL dialect completeness, and database-product claims are out of scope.
Try the duplicate
A request with two CTEs named X fails before rendering.
fail closed
Summary
Failing on duplicate names keeps each reference unambiguous.