AD

¿Ya dominas lo básico? Un curso estructurado de SQL es la vía rápida para dar el salto.

Ver cursos de SQL en Udemy

Enlace de afiliado. No te cuesta nada extra.

🗄️Lecciones de SQL
Lección 33 / 50

Consultas legibles con WITH (CTE)

En esta lección darás nombre a un paso intermedio de la consulta para que se lea de arriba abajo, como una receta.

WITH nombre AS (consulta) define una expresión de tabla común (CTE), que existe solo durante esa sentencia. Después se usa como si fuera una tabla. La diferencia con una subconsulta anidada es puramente de legibilidad, y es enorme.

El código de ejemplo define high_scorers como los estudiantes con 80 o más y luego los ordena. La consulta final queda tan simple que se entiende de un vistazo.

Conviene saber que en algunas bases de datos una CTE actúa como barrera de optimización, lo que puede empeorar el rendimiento frente a la subconsulta equivalente. En PostgreSQL esto cambió a partir de la versión 12; si una consulta con CTE va lenta, merece la pena comparar.

En analítica es la forma estándar de escribir consultas largas: se encadenan varias CTEs, cada una con un nombre que explica qué calcula, y la consulta final las combina. Un informe de cien líneas así es perfectamente revisable, mientras que el mismo con subconsultas anidadas sería intratable.

SQL
SALIDA

💡 El motor de SQL puede tardar unos segundos en cargarse la primera vez que ejecutas código.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)