Yo lo haria con un join
Código SQL
[-]
SELECT clientes.nombre, SUM(depositos.importe) as total_depositos, SUM(retiros.importe) as total_retiros, SUM(depositos.importe) - SUM(retiros.importe) as saldo
from
clientes
JOIN DEPOSITOS ON (DEPOSITOS.num_cliente=clientes.num_cliente)
JOIN RETIROS ON (RETIROS.num_cliente=RETIROS.num_cliente)
GROUP BY CLIENTES.NUM_CLIENTE
Esto asumiendo que tus tablas de depositos y retiros tienen un campo comun que identifica al cliente (o bien un num de cuenta), los campos que utilice son meros ejemplos tendrías que poner los nombres de tus tablas y los campos correctos. Pero Así como te lo puse te lo hace todo en una sola operación, aunque si hablamos de millones de registros la consulta será un poco lenta, por lo que ahi tendrías que cambiar la estrategia, depende del diseño que tengas.