Todas las publicaciones
post27 de mayo de 2026

SQL CTE — queries complejas legibles

#sql#cte#intermediate
sql
WITH daily_sales AS (
  SELECT
    DATE(created_at) AS day,
    SUM(total) AS revenue
  FROM orders
  GROUP BY DATE(created_at)
)
SELECT day, revenue
FROM daily_sales
WHERE revenue > 1000
ORDER BY day;

Una CTE (Common Table Expression) es un conjunto de resultados temporal con nombre, definido con la palabra WITH. Existe solo para la query que la contiene. Las CTEs hacen queries complejas legibles dividiéndolas en pasos lógicos con nombre.

Sin CTEs, las queries complejas se vuelven subqueries anidadas, difíciles de leer e imposibles de debuggear. Con CTEs construyes la query por etapas: primero calculas los totales diarios, luego los rankeas, después filtras los top tres. Cada paso intermedio tiene un nombre, como una variable en código.