15/08/2006, 22:59
|
| | Fecha de Ingreso: agosto-2006
Mensajes: 1
Antigüedad: 18 años, 4 meses Puntos: 0 | |
Diferencias join,inner join,left join,right join. Hola como estan, no entiendo lo siguiente:
Segun encontre en este foro, los siguientes 2 selects son lo mismo:
select * from persona, domicilio where persona.idpersona = domicilio.idpersona
select * from persona inner join domicilio on persona.idpersona = domicilio.idpersona
pero que significa que se le quite el inner como sigue:
select * from persona join domicilio on persona.idpersona = domicilio.idpersona
ahora, que diferencia hay entre left join y left outer join , right join y right outer join, es decir, que se le quite el outer como sigue:
select * from persona left join domicilio on persona.idpersona = domicilio.idpersona
select * from persona left outer join domicilio on persona.idpersona = domicilio.idpersona
select * from persona right join domicilio on persona.idpersona = domicilio.idpersona
select * from persona right outer join domicilio on persona.idpersona = domicilio.idpersona
ahora, vi que se puede utilizar el simbolo (+) para realizar un left outer join o un right outer join como sigue:
select * from persona join domicilio on persona.idpersona(+) = domicilio.idpersona
select * from persona join domicilio on persona.idpersona = domicilio.idpersona (+)
pero en alguna ocacion me dijeron que realizar los joins con (+) ya no se usaba en versiones actuales de oracle, se esta dejando de usar???
Muchas gracias. |