Ir al contenido principal

La Clausula Natural JOIN ON

La sintaxis de la clausula Natural JOIN ON es la siguiente:

SELECT tabla1.column, tabla2.column
FROM tabla1
JOIN tabla2 ON (tabla1.column_name = tabla2.column_name)

El Natural Join Puro y el Natural JOIN ON dependen de los nombres idénticos de las columnas. La clausula JOIN … ON permite especificar explícitamente las columnas unión, independientemente de sus nombres de columnas. Esta es la forma más flexible y más ampliamente utilizada de realizar un Natural Join. La clausula ON y NATURAL no pueden aparecen en la clausula JOIN … ON. Las columnas de igualdad son completamente cualificadas como tabla1.column = tabla2.column y son opcionalmente encerradas entre paréntesis después de la palabra ON.

Consulta 1
SELECT e.employee_id, e.first_name, e.last_name, d.department_name
FROM departments d JOIN employees e ON (e.department_id = d.department_id);

La consulta 1 devuelve número de empleado, nombre completo y nombre de departamento, aquí se está realizando la unión de las tablas departamentos y empleados unidos por department_id.

Consulta 2
SELECT e.employee_id, e.first_name, e.last_name, d.department_name
FROM departments d, employees e
WHERE d.department_id = e.department_id;

La consulta 2 devuelve lo mismo que la consulta 1 pero con la sintaxis tradicional de Oracle que especifica la condición del JOIN en la clausula WHERE.

Consulta 3
SELECT e.first_name || ' ' || e.last_name || ' es Administrador del Depto "' || d.department_name || '"'
FROM departments d

JOIN employees e ON (d.manager_id = e.employee_id)

Comentarios