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.

Compartilhar: