Inner Join en Oracle - Conozca los 6 ejemplos de consulta principales de la unión interna en Oracle

Tabla de contenido:

Anonim

Introducción a Inner Join en Oracle

Las cláusulas de unión se utilizan en la base de datos Oracle para acceder a los datos de varias tablas para obtener información. Existen diferentes tipos de combinaciones en la base de datos Oracle.

La unión interna es uno de los tipos de unión en la base de datos Oracle. Una unión interna, une las tablas múltiples y devuelve las filas para las cuales la condición de unión es o es verdadera. Una unión interna también se conoce como unión simple. La unión interna es la unión más común entre los tipos de unión.

La sintaxis de la unión interna

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

La representación visual de la unión interna se representa en el siguiente diagrama, ya que en el siguiente diagrama el área sombreada regresa como resultado de la unión interna de Oracle

Oracle Inner Join devuelve los registros de intersección de t1 y t2 como resultado.

Ejemplos de consultas para la unión interna

Comprendamos la unión interna en detalle con la ayuda de algunos de los ejemplos de consulta:

Ejemplo 1

Ejemplo de consulta para unión interna

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 la tabla de empleados y la tabla de departamentos donde coinciden el valor _id del empleado en la tabla de empleados y en la tabla de departamentos.

Consideramos aquí el esquema hr que es el esquema de muestra de la base de datos Oracle. El esquema hr contiene PAÍSES, EMPLEADOS, DEPARTAMENTOS, JOB_HISTORY, JOBS, LOCATIONS, REGIONS, en los que estamos interesados ​​o requerimos tablas de EMPLEADOS, DEPARTAMENTOS y LOCATIONS.

La descripción de estas tablas son:

Mesa EMPLEADOS

Tabla DEPARTAMENTOS

Mesa UBICACIONES

Ejemplo # 2

Ejemplo de unión interna para dos tablas

Aquí nos gustaría recuperar datos de dos tablas EMPLEADOS y DEPARTAMENTOS. Aquí consulta que escribimos para recuperar la identificación del empleado y el nombre del empleado de la tabla del empleado y el nombre del departamento de la tabla del departamento:

SELECT employees. employee_id, employees. first_name, departments.department_name
FROM employees, departments
WHERE employees. employee_id = departments. department_id;

Salida

Los nombres de columna con la tabla están precedidos por la cláusula Oracle SELECT. Si una columna es común a ambas tablas, para mayor claridad, el nombre de la columna debe tener como prefijo el nombre de la tabla. Las tablas desde donde se van a recuperar los datos se especifican en la cláusula from con la coma separada. En la cláusula WHERE, especifique la condición de unión. La relación entre los empleados y las tablas del departamento está determinada por los valores en la columna común employee_id en ambas tablas deben ser iguales y esta relación se denomina Equi Join. Comúnmente, la clave primaria y las claves externas están involucradas en esta relación.

Ejemplo # 3

Ejemplo de combinación interna de dos tablas con alias

Reescribamos el ejemplo anterior usando Alias ​​de tabla como -

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

Salida

Al igual que en la consulta anterior, los alias de la tabla se crean en la cláusula from después del nombre de la columna y, en lugar de escribir un nombre de tabla completo en la cláusula select antes de cada columna, use los Alias ​​de la tabla como eyd en la consulta anterior.

Ejemplo # 4

Ejemplo de combinación interna para dos tablas con Agregar cláusulas adicionales

Siguiente ejemplo de consulta donde agregamos cláusulas adicionales a nuestra instrucción Oracle SELECT en la cláusula where para agregar agregaciones, restringir las filas devueltas, definir el orden de clasificación, etc. Aquí hay una consulta de ejemplo que recupera a todos los empleados que trabajan en los departamentos de Finanzas, Manufactura y Construcción.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ( 'Finance', 'Manufacturing', 'Construction' );

Salida

Ejemplo # 5

Ejemplo de combinación interna de dos tablas con un orden por cláusula

En el siguiente ejemplo de consulta, reescribimos la consulta anterior agregando el orden por cláusula, por lo tanto, mostrando los datos del empleado ordenados por el nombre del departamento.

SELECT e. employee_id, e. first_name,
d. department_name
FROM employees e, departments d
WHERE e. employee_id = d. department_id
AND d. department_name in ('Finance', 'Manufacturing', 'Construction')
ORDER BY d. department_name;

Salida

Ejemplo # 6

Ejemplo de unión interna para unir varias tablas

A veces, para obtener la información, es posible que necesitemos unir más de dos tablas. A continuación, escribimos el ejemplo de consulta para unir varias tablas. Considere el ejemplo que queremos recuperar el nombre del empleado de la tabla de empleados, el nombre del departamento de la tabla de departamentos y la identificación del país de la ubicación donde trabaja este empleado en la tabla de ubicaciones.

SELECT e. first_name, e. salary, d. department_name, l. city, l. country_id
FROM employees e, departments d, locations l
WHERE e. employee_id = d. department_id
AND
d. location_id = l. location_id;

Salida

Para unir cuatro o más tablas, se aplica el mismo concepto al agregar el nombre de la tabla en la cláusula FROM de un oráculo y aplicar la condición de unión en la cláusula WHERE de un oráculo.

Conclusión

La unión interna es uno de los tipos de unión en la base de datos Oracle. Una unión interna utilizada para unir las múltiples tablas y devolver aquellas filas para las cuales la condición de unión es o es verdadera. Comúnmente, la clave primaria y la clave externa están involucradas en la unión interna para crear una relación entre las tablas.

Artículos recomendados

Esta es una guía para Inner Join en Oracle. Aquí discutimos la introducción a Inner join junto con algunos ejemplos en detalle. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Se une a MySQL
  2. Consultas de Oracle
  3. Oracle Data Warehousing
  4. ¿Qué es la base de datos Oracle?