Tecnología

Inicio

Cómo hacer una combinación externa en Oracle

Oracle combinaciones externas son una manera de mostrar datos sin filtrado adicional de los registros. Si dos tablas contienen datos relacionados, hay una probabilidad de que una de las mesas pueden no tener ningún registro. Esto sólo puede ocurrir cuando no hay restricciones en las tablas que se precisa que los registros deben estar presentes. Por ejemplo, si una empresa tiene un número de clientes, es posible que en cualquier momento un cliente puede no haber pedido ningún producto. La situación inversa también puede ser cierto, en que los productos pueden no tener los clientes que se les asignan.

Instrucciones

1 Seleccionar dos tablas de la base de datos Oracle para los que puede haber registros existentes en uno, pero no necesariamente en la otra. La tabla con los registros faltantes opcionalmente se conoce como la tabla externa en este caso.

2 Elegir el orden de la consulta, en términos de decidir cuál de las tablas indicadas en la consulta (izquierda o derecha) formarán la combinación externa. Un ejemplo hace esto más claro de la siguiente manera:

seleccione c.customerlastname,

p.productid

de

c cliente, p productorders

donde c.customerid = p.customerid;

A partir de esta consulta una decisión que se ha hecho, qué se requiere una lista de todos los pedidos de productos con (o sin) los clientes o la situación inversa es decir, una lista de clientes con o sin pedidos realizados?

3 Coloque un indicador (+) para identificar la tabla de la que se devuelven filas opcionales es decir, tener registros o no. En este ejemplo, la tabla de productos puede o no tener órdenes en contra de ellos, y por lo tanto esto será unirse a una combinación externa izquierda:

seleccione c.customerlastname,

p.productid

de

c cliente, p productorders

donde c.customerid = p.customerid (+);

Si la consulta necesaria para encontrar productos que no puede tener clientes en contra de ellos, la cláusula where sería:

donde c.customerid (+) = p.customerid;

4 Ejecutar la consulta y devolver el resultado. El ejemplo de la izquierda combinación externa devolverá registros similares a los siguientes:

p.productid c.customerlastname



Smith 123423

Jones

Carr 89654

Bernardstein 66543

Tenga en cuenta que para unirse a esta combinación externa izquierda, el único cliente en esta lista sin una orden es "Jones".