Una CTE define un resultado intermedio con un nombre claro al comienzo de una consulta SQL, que luego puede referenciarse una o varias veces dentro del resto de esa misma consulta, de forma similar a como se declara una variable con nombre en un lenguaje de programación tradicional.
Por qué mejoran tanto la legibilidad
Permiten descomponer una consulta compleja en pasos lógicos claramente nombrados y secuenciales, en lugar de anidar múltiples subconsultas una dentro de otra, lo que facilita enormemente tanto escribir como entender y mantener consultas SQL complejas con varios pasos intermedios de cálculo.
