Transcripción Cláusulas Using y On
Cuando se realiza un join, se utiliza la cláusula ON
para especificar las columnas que se utilizarán para unir las dos tablas.
Ejemplo: select primer_nombre, departamento from hr.employees e join hr.departamentos d on e.manager_id = d.maneger_id.
Se puede utilizar la cláusula using cuando las columnas que se emplean para la unión tienen el mismo nombre en ambas tablas.
Ejemplo: select name, depart_name from hr.employees join hr.departments using(manager_id)
La cláusula Using puede emplearse en todos los tipos de Join, excepto en el natural join. Por otro lado, la cláusula On es aplicable a todos los tipos de Join, a excepción del natural join. La principal diferencia con Using es que en este caso, los campos de unión pueden tener nombres distintos en cada tabla.
Ejemplo: Select name, department From hr.employees e Join hr.departments d On e.manager_id = d.manager_id.
Ejemplo: Select first_nombre, department_name From hr.employees e Join hr.departments d On e.department_id = d.manager_id.
El modificador "(+)" se utiliza para ajustar el comportamiento del **On**, permitiendo replicar los resultados de un **Left Join** o **Right Join** al incluir los valores nulos de una de las tablas. Ejemplo de un On modificado para simular un Left Join: Select first_name nombre, department_name departamento From hr.employees e Join hr.departments d On e.department_id = d.department_id(+).
Ejemplo On modificado para obtener Right Join: Select name nombre, department departamento From employees e join departments d On e.depart_id(+)=d.depart_id;
clausulas using on