Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Subconsultas o Left Join (https://www.clubdelphi.com/foros/showthread.php?t=19244)

tigrillo34 08-03-2005 21:55:20

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

CCCP 12-03-2005 02:25:10

hacer joins es siempre mas rápido. Piensa que una subconsula la puedes sustituir por where valor in (a1,a2,a3,a4,...), y creo que recordar que tienen un número máximo de elementos.


La franja horaria es GMT +2. Ahora son las 00:07:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi