Subconsultas o Left Join
Hola a todos, hace unos días pedí ayuda con una consulta y me pasaron una que hacía uso de subconsultas, después pude realizar la mía propia pero utilizando left join y me entró la duda: Qué es mejor subconsultas o left joins?
Les cuento un poco sobre la consulta que deseaba hacer.
Tenía dos tablas
facturas(id_cliente,factura,monto)
cobros(id_cliente,factura,cobro)
Deseaba extraer las facturas que aún estaban pendientes de saldar, la consulta que me recomendaron fue esta:
select factura
from facturas f
where saldo-(select sum(cobro) from cobros c where f.id_cliente=c.id_cliente and f.factura=c.factura)>0
La que yo logré hacer fue:
select factura
from facturas f
left join cobros c on c.id_cliente=f.id_cliente and c.factura=f.factura
group by factura
having saldo-sum(c.cobro)>0
Ahora, este es un ejemplo, pero en general qué es más eficiendo manejar.Espero sus comentarios, nos vemos
|