Oracle - diferencias entre inner join y un in (select...

   
Vista:

diferencias entre inner join y un in (select...

Publicado por My li (1 intervención) el 19/09/2017 12:27:31
Que diferencia hay entre :

1
2
select count(codipc) from tabla1
where idccc like 'AA%' and codipc in (select codipc from tabla2 where fecha between '20170101' and '20170201')

y esta otra opcion:

1
2
3
select count(codipc) from tabla1
inner join  tabla2 on (tabla2.codipc=tabla1.codipc and fecha between  '20170101' and '20170201')
where idccc like 'AA%'

El numero de resultados es diferente.
Podría alguien explicarme por qué?. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

diferencias entre inner join y un in (select...

Publicado por gretel (1 intervención) el 20/09/2017 00:01:59
hola creo q el problema es q el in solo necesita una coincidencia y el inner join comparara cada campo, por ejemplo si tienes en tb1(1,1,2,0) y tb2(1,1,1,1,0,2) el in dara 2 como resultado y el inner 4 porque al compara cada registro, es como si creara una tabla
tb1 tb2
1 1
1 1
11
11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar