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

diferencia entre estas 2 consultas

Estas en el tema de diferencia entre estas 2 consultas en el foro de SQL Server en Foros del Web. Cita: Select * from Oficial P JOIN Agente I on P.idOficial = I.idOficial; SELECT * from Oficial where idPersona in (select idOficial from Agente); en ...
  #1 (permalink)  
Antiguo 15/05/2012, 16:16
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
diferencia entre estas 2 consultas

Cita:
Select * from Oficial P JOIN Agente I on P.idOficial = I.idOficial;
SELECT * from Oficial where idPersona in (select idOficial from Agente);
en m base de datos, esas dos consltas arrojan informacion

y supuestamente deben de arrojar la mismita informacion
pero no pasa asi,, me arrojan diferente resultadoo.
alguien me dice ,,cuall es la diferencia entre esas dos consultas?
PORFAVOR :(
__________________
si siempre hay algo nuevo que aprender
  #2 (permalink)  
Antiguo 15/05/2012, 17:00
 
Fecha de Ingreso: septiembre-2005
Mensajes: 74
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: diferencia entre estas 2 consultas

Con el inner join te muestra la union de las dos tablas mediante un campo en común...
es más completo...
En cambio en el segundo query sólo te muestra datos de la primera tabla nada más... donde coincida el id en la segunda tabla... pero siempre te mostrara sólo datos de la primera tabla...
  #3 (permalink)  
Antiguo 16/05/2012, 15:08
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: diferencia entre estas 2 consultas

Ademas de que el IN(), ya lo hemos comentado mas de una vez, debe ser substituido por EXISTS.
__________________
MCTS Isaias Islas

Etiquetas: diferencia, select
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 17:25.