CTEs (WITH)
CTEs te dejan partir queries grandes en bloques legibles. No es solo estetica: reduce errores.
Conceptos clave
- WITH como variable de query
- Componer CTEs
- Evitar duplicacion
Ejemplo
WITH paid AS (
SELECT user_id, SUM(total) AS revenue
FROM orders
WHERE status = 'paid'
GROUP BY 1
)
SELECT u.email, paid.revenue
FROM paid
JOIN users u ON u.id = paid.user_id
ORDER BY paid.revenue DESC
LIMIT 20;
Ejercicio
- Crea un CTE con top users por revenue.
- Agrega un segundo CTE con segmentacion por country.
Checklist de mastery
- Puedo partir queries en CTEs.
- Se leer queries largas sin perderme.