tablas - ¿Cuál es la diferencia entre la palabra clave join y la palabra clave join interna en oracle sql?
oracle left join vs(+) (1)
- Siguiendo la referencia 1992 ANSI SQL, INNER es opcional :
Expresiones de consulta 179 7.5 - tabla unida
3) Si se especifica una unión calificada y no se especifica un tipo de unión , INNER es implícito.
- Siguiendo los estándares de Oracle ( 9i en adelante ), el prefijo
INNER
también es opcional. Antes de 9i, Oracle no seguía las reglas de ANSI y ni siquieraJOIN
sintaxis deJOIN
.
Esta pregunta ya tiene una respuesta aquí:
- Diferencia entre ÚNETE e INNER ÚNASE 8 respuestas
No puedo encontrar documentaciones sobre la palabra clave join
pero vi ejemplos en la web usándolo.
Estaba haciendo un experimento con él en el esquema de hr
Oracle, donde tengo departments
tablas:
-
deparment_name
-
manager_id
-
location_id
Una mesa de employees
:
-
first_name
-
employee_id
Y locations
mesas:
-
location_id
-
city
La consulta debe devolver el nombre de departamento, primer nombre del administrador del departamento y la ciudad donde se encuentra el departamento.
El código que utiliza la join
palabras clave parece devolver algún resultado en comparación con el uso de la inner join
palabras clave
Código con join
:
select d.department_name, e.first_name,l.city
from departments d
join employees e on d.manager_id=e.employee_id
join locations l on d.location_id=l.location_id
Código con inner join
:
select d.department_name, e.first_name,l.city
from departments d
inner join employees e on d.manager_id=e.employee_id
inner join locations l on d.location_id=l.location_id
¿Hay alguna diferencia entre las dos condiciones, o me estoy topando con una situación en la que devuelven los mismos resultados?