select
clientes.id_cliente, -- mostrando o id do cliente
clientes.nome, -- mostrando o nome do cliente
sum(itens_de_pedido.preco_unitario) as valor_total -- preco_unitario = itens_de_pedido.quantidade * produtos.preco
from clientes left join pedidos on clientes.id_cliente = pedidos.id_cliente_fk
left join itens_de_pedido on pedidos.id_pedido = itens_de_pedido.id_pedido_fk
-- left join aqui foi necessário para manter os campos NULL dos clientes que NÃO pediram nada ainda
group by clientes.id_cliente, clientes.nome
-- group by agrupando pelo id e nome do cliente
-- (é uma boa prática sempre usar o campo de id no group by, dado que ele é chave primária)
order by valor_total desc;
-- odernamos a view de forma descrescente pelo valor_total, que é quanto o cliente gastou nos pedidos
/*Se você precisar tirar a prova real da consulta acima, só substitua o número do id_cliente_fk da cláusula where
pelo id do cliente que você quer conferir*/
select sum(itens_de_pedido.preco_unitario)
from (
select id_pedido, id_cliente_fk
from pedidos
where id_cliente_fk = 14
) as pedidos
join itens_de_pedido on pedidos.id_pedido = itens_de_pedido.id_pedido_fk;