CTE — Common Table Expression
Cria uma query nomeada e reutilizável dentro do mesmo SELECT.
sql
WITH ativos AS (
SELECT * FROM usuarios WHERE status = 'ativo'
),
top_gastadores AS (
SELECT user_id, SUM(valor) AS total
FROM pedidos
GROUP BY user_id
)
SELECT a.id, t.total
FROM ativos a
JOIN top_gastadores t ON t.user_id = a.id
ORDER BY t.total DESC
LIMIT 100;Quando usar
CTEs deixam queries longas legíveis e reaproveitáveis.