Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

SQL Query - Left Join

Estas en el tema de SQL Query - Left Join en el foro de Bases de Datos General en Foros del Web. Necesitaba listar los registros de una tabla cuyo email no estan en otra tabla. Despues de varias horas de buscar por foros, manuales y puebas ...
  #1 (permalink)  
Antiguo 03/08/2007, 09:45
 
Fecha de Ingreso: agosto-2005
Mensajes: 18
Antigüedad: 18 años, 8 meses
Puntos: 2
De acuerdo SQL Query - Left Join

Necesitaba listar los registros de una tabla cuyo email no estan en otra tabla.

Despues de varias horas de buscar por foros, manuales y puebas he conseguido la solución.

Es esta Query SQL con un Left Join

Código:
select a.* 
from tabla1 a left join tabla2 b 
on (a.email=b.email) 
where b.email is NULL
Espero que sea util!! y compensar todas las veces que otros foreros me habeis ayudado.
__________________
SMS Gratis
Comunidad virtual para enviar SMS Gratis, Llamar Gratis y ligar Gratis.
www.smsgratis.es
  #2 (permalink)  
Antiguo 03/08/2007, 14:26
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: SQL Query - Left Join

Otra forma es:
Código:
SELECT *
FROM Tabla1 A
WHERE NOT EXISTS(
    SELECT 1
    FROM Tabla2 B
    WHERE B.Email = A.Email
)
Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #3 (permalink)  
Antiguo 04/08/2007, 15:25
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 9 meses
Puntos: 105
Re: SQL Query - Left Join

Holas,

Prefiero usar la segunda opcion de Gabo77 porque es mas rapida y manejable de usar.

Saludos
Gildus
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 07/08/2007, 15:41
Avatar de zeusdelolimpo  
Fecha de Ingreso: agosto-2007
Mensajes: 54
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: SQL Query - Left Join

Hola

Bueno yo creo que tambien es buena y funciona la de Gabo77 pero no entiendo por que es mejor que la de specting si tambien funciona y es buena

???

Salu2
  #5 (permalink)  
Antiguo 08/08/2007, 07:53
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 9 meses
Puntos: 105
Re: SQL Query - Left Join

Con el uso delos Joins o inner es mas lento las consultas, la diferencia casi no se nota pero es mas eficiente la de Gabo77.

De funcionar si funciona, pero referi al mas de preferencia.

Saludos
Gildus
__________________
.: Gildus :.
  #6 (permalink)  
Antiguo 08/08/2007, 09:04
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: SQL Query - Left Join

Claro, la diferencia es que no procesa el resultado de las dos tabla, solo de la Tabla1, a diferencia del INNER que obliga a meter el resultado a una Tmp y a procesar el resultado de las dos tablas, lo cual no tiene sentido si solo te interesa saber que registros estan en al tabla 1 que no estan en la tabla 2, no te interesa los datos de la tabla 2 (que no están :p)
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #7 (permalink)  
Antiguo 08/08/2007, 09:05
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: SQL Query - Left Join

Claro, la diferencia es que no procesa el resultado de las dos tabla, solo de la Tabla1, a diferencia del INNER que obliga a meter el resultado a una Tmp y a procesar el resultado de las dos tablas, lo cual no tiene sentido si solo te interesa saber que registros estan en al tabla 1 que no estan en la tabla 2, no te interesa los datos de la tabla 2 (que no están :p)

Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #8 (permalink)  
Antiguo 08/08/2007, 14:06
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: SQL Query - Left Join

Personalmente me ha dado mejores resultados utilizar join. Solo hay que verificar que los campos tengan los indices correctos.

Saludos
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:23.