sql >> Base de Datos >  >> RDS >> Oracle

Únase a sí mismo en Oracle con ejemplos

Este tutorial de Oracle SQL se centra en la unión automática en Oracle y proporciona sintaxis, explicaciones y ejemplos

Una autounión en Oracle es una unión de la tabla de Oracle consigo misma. Podemos usar la tabla varias veces. Cada ocurrencia debe tener un nombre de alias. La base de datos de Oracle mientras ejecuta la consulta se une a la tabla y produce el resultado

General  syntax
select a.col1 ,b.col2  from mytable a,mytable b where <join condition> ;

Algunos Self Join en el ejemplo de Oracle

(1) Presentación de datos jerárquicos

Tenemos una tabla de empleados y queremos especificar el nombre del empleado, el nombre del gerente para todos los empleados. Tenemos un presidente también que no informa a nadie para mostrar en la consulta

La siguiente consulta con combinación automática con combinación externa para extraer los datos en el formato deseado

Estos son algunos de los puntos que vale la pena notar en la consulta anterior

una. Hemos utilizado diferentes alias para la aparición múltiple de la tabla EMP

b. Hemos utilizado la unión exterior izquierda para mostrar también la información del presidente

(2) Otro ejemplo para extraer la información de los empleados que tienen la misma fecha de contratación

(3) Podemos usar la unión automática para transponer las filas en la columna además. Tenemos una tabla customer_bill que tiene varias filas para las filas de diferentes meses del año y queremos mostrar el monto de la factura para diferentes meses en formato de columna

Desc customer_bill
--------------
Customer_id Varchar2(10)
bill_amount Number
bill_month Varchar2(10)

consulta de tabla

select Customer_id,bill_amount,bill_month
from customer_bill where
customer_id=1111;

Consulta para transponer filas a columnas

select a.customer_id , b.bill_amount Jan-amount , 
c.bill_amount Feb-amount ,
c.bill_amount Mar-amount from customer_bill a ,customer_bill b,
customer_bill c where a.customer_id=b.customer_id ,
b.customer_id =c.customer_id 
and a.bill_month='JAN' 
and b.bill_month='FEB' and c.bill_month='MAR' 
and a.customer_id=1111;

Del mismo modo, podemos tener múltiples usos de la autounión en Oracle. Por favor, hazme saber si te gusta esta publicación

Artículos relacionados
oracle sql join:¿Qué son las uniones Oracle con ejemplos (uniones Sql), diferentes tipos de uniones, unión interna, unión externa, unión externa izquierda, unión externa derecha, unión cruzada con ejemplos
ejemplos de sintaxis de unión de Oracle :Consulte esta publicación para ver ejemplos de sintaxis de unión de Oracle en unión interna, unión cruzada, unión externa, unión externa izquierda, unión externa derecha
Método de uniones en Oracle:Esta publicación explica los diversos métodos Plan Joins en Oracle, bucle anidado, sort merge join,cartesian join, hash join para ayudar a comprender
Nested Loop Join en Oracle 11g:consulte esta página para obtener todos los detalles sobre Nested loop join en Oracle, cómo Nested Loop Join en Oracle 11g es diferente, cómo anidado la unión en bucle funciona en Oracle
Unión hash en Oracle:consulte esta publicación para obtener una descripción detallada de la unión hash en Oracle, en qué se diferencia de la unión en bucle anidado en Oracle