Introducción a las uniones en Oracle

Las uniones en Oracle se utilizan para acceder a los datos de varias tablas. Una unión en Oracle se usa en un lugar donde se deben unir más de dos tablas para recopilar información útil en la instrucción Oracle SQL. En otras palabras, la consulta de combinación utilizada para recuperar las filas de más de dos tablas o vistas en función de las condiciones de combinación. La condición de unión se puede especificar en la cláusula FROM o en la cláusula where. La condición de unión compara las columnas de las diferentes tablas y recupera aquellas filas para las que la condición de unión es verdadera.

Tipos de uniones en Oracle

En Oracle hay diez tipos diferentes de combinaciones que se detallan a continuación:

  • Uniones internas (también conocidas como uniones simples)
  • Equi se une
  • Uniones externas
  • Uniones externas izquierdas (también llamadas uniones izquierdas)
  • Right Outer Joins (también llamado Right Joins)
  • Uniones exteriores completas (también llamadas uniones completas)
  • Auto se une
  • Cross Joins (también llamados productos cartesianos)
  • Anti une
  • Semi se une

A continuación, entendemos que cada una se une en detalle con la sintaxis y los ejemplos.

1. INNER JOIN (también conocido como Simple Join)

Las uniones internas unen las múltiples tablas y devuelven aquellas filas para las cuales la condición de unión es verdadera. La unión interna es la unión más común entre los tipos de unión.

Sintaxis:

SELECT column (, column ) FROM t1
INNER JOIN t2
ON t1.column = t2.column;

El siguiente diagrama representa la representación visual de la unión interna, ya que en el diagrama el área sombreada regresa como resultado de Oracle INNER JOIN:

Oracle INNER JOIN devuelve los registros de intersección de t1 y t2 como resultado.

Ejemplo:

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee
INNER JOIN department
ON employee.employee _id = department.employee _id;

Este ejemplo de Oracle INNER JOIN anterior devolverá todas las filas de las tablas de empleado y departamento donde coinciden el valor _id del empleado en las tablas de empleado y departamento.

2. Equi se une

Oracle Equi Joins recupera los valores de columna coincidentes de las múltiples tablas. La condición de unión o el operador de comparación presente en la cláusula WHERE de la instrucción select.

Sintaxis:

SELECT column (, column ) FROM t1, t2
where t1.column = t2.column;

El siguiente diagrama representa la representación visual del equijoin, ya que en el diagrama el área sombreada regresa como resultado de Oracle Equi Join.

El Oracle Equijoin devuelve los registros de intersección de t1 y t2 como resultado.

Ejemplo:

SELECT employee.employee _id, employee.employee_name, department. department_name
FROM employee, department
where employee.employee _id = department.employee _id;

Este ejemplo anterior de Oracle Equijoin devolverá todas las filas de las tablas de empleado y departamento donde coinciden el valor _id del empleado en las tablas de empleado y departamento.

3. Uniones externas

Otro tipo de combinaciones es una combinación externa que devuelve el resultado de una combinación interna más todas las filas de una tabla para la que la condición de combinación no es verdadera.

Sintaxis:

SELECT column (, column ) FROM t1
LEFT | RIGHT | FULL (OUTER) JOIN t2
ON t1.column = t2.column;

Hay tres tipos de unión externa como se indica a continuación:

  • Uniones externas izquierdas (también llamadas uniones izquierdas)
  • Right Outer Joins (también llamado Right Joins)
  • Uniones exteriores completas (también llamadas uniones completas)

4. Unión externa izquierda

Los retornos de la unión externa izquierda contienen todas las filas de la tabla IZQUIERDA (de acuerdo con la condición especificada en ON) y de la otra tabla solo aquellas filas donde la condición de unión es verdadera.

Sintaxis:

SELECT column (, column ) FROM t1
LEFT (OUTER) JOIN t2
ON t1.column = t2.column;

La palabra clave LEFT OUTER JOIN, use LEFT JOIN en algunas otras bases de datos.

El siguiente diagrama representa la representación visual de la IZQUIERDA EXTERIOR IZQUIERDA, ya que en el diagrama el área sombreada regresa como resultado de la UNIÓN EXTERIOR IZQUIERDA de Oracle:

Oracle LEFT OUTER JOIN devuelve todos los registros de t1 y los registros de intersección de t1 y t2 como resultado.

Ejemplo:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
LEFT OUTER JOIN department
ON employee.employee _id = department.employee _id;

Este ejemplo de Oracle LEFT OUTER JOIN anterior devolverá todas las filas de la tabla de empleados y de la tabla de departamentos solo aquellas filas donde la condición de unión es verdadera. Las tablas de departamento donde coinciden el valor _id del empleado en las tablas de empleado y departamento.

Si el valor _id del empleado en la tabla del empleado coincide en la tabla del departamento, entonces los campos de la tabla del departamento serán nulos en el resultado.

5. Unión externa derecha

Los retornos RIGHT OUTER JOIN contienen todas las filas de la tabla RIGHT (de acuerdo con la condición especificada en ON) y de la otra tabla solo aquellas filas donde la condición de unión es verdadera.

Sintaxis:

SELECT column (, column ) FROM t1
RIGHT (OUTER) JOIN t2
ON t1.column = t2.column;

La palabra clave RIGHT OUTER JOIN, úsela como RIGHT OUTER JOIN en algunas otras bases de datos.

El siguiente diagrama representa la representación visual de la UNIÓN EXTERIOR DERECHA, ya que en el diagrama el área sombreada regresa como resultado de la UNIÓN EXTERIOR DERECHA Oracle.

Oracle RIGHT OUTER JOIN devuelve todos los registros de t2 y los registros de intersección de t1 y t2 como resultado.

Ejemplo:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
RIGHT OUTER JOIN department
ON employee.employee _id = department.employee _id;

Este ejemplo de Oracle LEFT OUTER JOIN anterior devolverá todas las filas de la tabla de departamentos y de la tabla de empleados solo aquellas filas donde la condición de unión es verdadera. Las tablas de empleados donde el valor _id del empleado en las tablas de empleado y departamento coinciden.

Si el valor _id de empleado en la tabla de empleados coincide en la tabla de departamentos, los campos de la tabla de empleados serán nulos en el resultado.

6. Unión externa completa

Los retornos de la unión externa completa contienen todas las filas de la tabla IZQUIERDA y la tabla DERECHA con nulo en los campos donde la condición de unión no es verdadera.

Sintaxis:

SELECT column (, column ) FROM t1
FULL (OUTER) JOIN t2
ON t1.column = t2.column;

La palabra clave FULL OUTER JOIN, úsela como FULL JOIN en algunas otras bases de datos.

El siguiente diagrama representa la representación visual de FULL OUTER JOIN, ya que en el diagrama el área sombreada regresa como resultado de Oracle FULL OUTER JOIN.

Como resultado, Oracle FULL OUTER JOIN devuelve todos los registros de las tablas t1 y t2.

Ejemplo:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
FULL OUTER JOIN department
ON employee.employee _id = department.employee _id;

Este ejemplo de Oracle FULL OUTER JOIN anterior devolverá todas las filas de la tabla de empleados y de la tabla de departamentos con valores nulos donde la condición unida no es verdadera.

7. Oracle Self se une

En self join, la tabla se usa dos veces en la cláusula FROM con la ayuda del nombre de alias de tabla. En otras palabras, el yo se une, únete a una mesa. Oracle Self Join combina y devuelve filas de la tabla donde la condición de unión es verdadera.

Ejemplo:

SELECT emp1.employee_name || 'works for' || emp2.employee_name
FROM employees emp1, employees emp2
WHERE emp1.manager_id = emp2.employee_id
ORDER BY emp1.employee_name;

Este ejemplo de Oracle self JOIN anterior devolverá todas las filas de la tabla de empleados donde la condición unida es verdadera.

8. Oracle Cross Joins (también llamado como productos cartesianos)

La unión cruzada se aplica cuando las dos tablas no tienen condición de unión. La unión cruzada devuelve el producto cartesiano de las dos tablas, producto cartesiano donde cada fila de una tabla se combina con cada fila de la otra tabla. Suponga que table1 contiene 100 filas y table2 contiene 10 filas, entonces el resultado de la unión contendría 1000 filas.

Ejemplo;

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
CROSS JOIN department

Este ejemplo de JOIN cruzado anterior devolverá todas las filas de la tabla de empleados combinadas con todas las filas de la tabla de departamentos.

9. Oracle Anti Joins

Los retornos antijoin contienen filas de la tabla IZQUIERDA (de acuerdo con la condición especificada en ON) donde la condición unida es verdadera.

Ejemplo:

SELECT employee.employee _id, employee.employee_name, department.department_name
FROM employee
WHERE department_id NOT IN (SELECT department_id from department
WHERE department_name = 'sales';

El ejemplo anterior de Oracle ANTI JOIN devolverá filas de la tabla de empleados y donde la condición unida es verdadera.

10. Oracle Semi se une

Los retornos semijoin contienen filas únicas de la tabla IZQUIERDA (de acuerdo con la condición especificada en ON) donde la coincidencia de una subconsulta EXISTA es verdadera.

Ejemplo:

SELECT employee.employee _id, employee.employee_name
FROM employee
WHERE EXISTS (SELECT department_id FROM department
WHERE department_name = 'sales');

Este ejemplo de Oracle SEMI JOIN devolverá filas de la tabla de empleados si EXISTS devuelve true.

Conclusión

Se utiliza para acceder a los datos de múltiples tablas. Hay siete tipos diferentes de combinaciones en un Oracle.

Artículos recomendados

Esta es una guía de Uniones en Oracle. Aquí discutimos una introducción sobre Joins en Oracle y sus 10 tipos diferentes en Joins en Oracle. También puede consultar nuestros otros artículos relacionados para obtener más información:

  1. Tipos de combinaciones en SQL
  2. Tableau se une
  3. Oracle Warehouse Builder
  4. Funciones de cadena de Oracle
  5. ¿Qué es una consulta y tipos de consultas Oracle?
  6. Los 6 tipos principales de combinaciones en MySQL con ejemplos
  7. Guía de las 9 cláusulas principales de Oracle (ejemplo) l
  8. SELECCIONAR en MySQL | Ejemplos para SELECCIONAR en MySQL

Categoría: