El Natural Join es implementado utilizando tres posibles clausulas
JOIN que usan las siguientes palabras en diferentes combinaciones: NATURAL
JOIN, USING, y ON.
Cuando las tablas Source y Target comparten nombres idénticos de
columnas es posible desarrollar un Natural Join entre ellas sin especificar
columnas. Esto es a veces referido como un pure natural join. En este escenario
columnas con el mismo nombre en las tablas Source y Target son automáticamente
asociadas. Filas con el mismo valor en las columnas en ambas tablas son
recuperadas.
Las palabras NATURAL JOIN instruyen a Oracle a identificar columnas
con nombres idénticos en las tablas Source y Target y posteriormente un Join
implícitamente es desarrollado entre ellas.
-- NATURAL JOIN
-- LAS TABLAS SE UNEN MEDIANTE LA COLUMNA REGION_ID
DESCRIBE REGIONS;
DESCRIBE COUNTRIES;
SELECT country_id, country_name, region_name
FROM regions
NATURAL JOIN countries
ORDER BY region_name;
-- SE UNEN MEDIATE JOB_ID
SELECT employee_id, first_name, last_name, job_title
FROM employees NATURAL JOIN
jobs
ORDER BY employee_id;
Las palabras NATURAL JOIN instruyen a Oracle a identificar las
columnas que comparten nombres idénticos entre las tablas Source y Target. A
partir de entonces, un Join es implícitamente desarrollado.
SELECT *
FROM regions NATURAL JOIN
countries
WHERE country_name = 'Canada';
La siguiente consulta, la columna REGION_ID es identificada como la
única común en ambas tablas. La tabla REGIONS es la tabla SOURCE ya que aparece
después de la clausula FROM. Y la tabla TARGET es COUNTRY. Para cada fila en la
tabla región, se busca un valor coincidente de todas las filas en la tabla
COUNTRY.
Comentarios
Publicar un comentario