La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado de Oracle (SQL) hay cinco tipos de JOINs: Natural JOIN, Self-join, Nonequijoins, Outer Join y Cross joins.
Matemáticamente, JOIN es composición relacional, la operación fundamental en el álgebra relacional, y, generalizando, es una función de composición.
Para entender como funciona la cláusula JOIN podemos ver el siguiente bloque de código
Podemos observar de forma reducida todos los tipos de JOINs que soporta una base de datos Oracle:
- NATURAL JOIN une dos tablas basándose en las columnas que tengan el mismo nombre.
- JOIN tabla2 USING nombre_columna realiza un equijoin basado en el nombre de columna que se especifica en la cláusula USING.
- JOIN tabla2 ON tabla1.nombre_columna = tabla2.nombre_columna realiza un equijoin basado en la condición que se especifica en la cláusula ON.
- LEFT / RIGHT / FULL OUTER son usados para realizar OUTER joins.
- CROSS JOIN regresa un producto cartesiano de dos tablas.
(more…)