Tipos de uniones de base de datos

Las uniones son funciones básicas de las bases de datos que permiten fusionar los contenidos de dos tablas diferentes y/o bases de datos diferentes en una vista única en base a un campo común o campos entre ellos (es decir, la condición de fusión). Para obtener más información, consulte Sobre fusiones de tablas y bases de datos.

Cuando esté utilizando datos de varias tablas y/o bases de datos en su documento, deben estar fusionadas utilizando uno de los tipos de fusión de bases de datos compatibles.

A continuación, se muestran dos cuadros de ejemplo que utilizarán como referencia los ejemplos de los diferentes tipos de fusión compatibles con BarTender. La Tabla A incluye los empleados y sus ID de departamento, mientras que la Tabla B muestra los nombres de los departamentos y la ID de departamento asociada con cada uno de ellos. El campo común que tengan entre ellos que se utiliza como condición de fusión es DepartmentID.

Tabla A:

FirstName

DepartmentID

Joe

31

Jane

33

Marca

33

Mary

34

Dan

34

Donna

NULL

Tabla B:

DepartmentID

DepartmentName

31

Ventas

33

Ingeniería

34

Administración

35

Marketing

BarTender es compatible con los siguientes tipos de fusión:

Una fusión interna es el único tipo de fusión posible cuando se estén utilizando datos obtenidos de múltiples bases de datos. Además, las fusiones exteriores completas no son compatibles en el caso de bases de datos de Excel, Access, y MySQL.

ClosedFusión interior

Una fusión interior es uno de los comandos de unión más comunes y a menudo se utiliza como el tipo de unión predeterminado. En una fusión interior, se crean nuevos resultados devolviendo y combinando todas las filas de las tablas específicas que tengan valores coincidentes para el/los campo(s) de fusión que se hayan especificado. Cuando no haya coincidencias entre una fila de la Tabla A y una fila de la Tabla B, dicha fila simplemente se omite de los resultados. Tomando nuestras tablas de ejemplo, utilizar una fusión interior DepartmentID como la condición de fusión resultaría en lo siguiente:

FirstName

DepartmentID

DepartmentName

Joe

31

Ventas

Jane

33

Ingeniería

Marca

33

Ingeniería

Mary

34

Administración

Dan

34

Administración

Como se puede ver, dado que la ID del departamento de Donna de la Tabla A se muestra como NULL, ella no aparece en la tabla de fusión interior resultante. Si se le hubiera asignado a Donna una ID de departamento que no aparezca en la Tabla B, tampoco se mostraría, ya que no tendría ninguna fila correspondiente con la que asociarla.

Los valores NULL se tratan de forma diferente que otros valores y no se puede comparar al valor 0 (cero), ni siquiera a otro valor NULL. Por ello, una fusión interna no puede devolver ninguna fila que contenga un valor NULL en un campo que se esté utilizando en la condición de fusión, ya que no hay ningún valor de campo equivalente.

ClosedFusión exterior izquierda

Una Fusión exterior izquierda difiere de una fusión interior en que además devuelve todas las filas de la tabla de la izquierda, Tabla A, aunque no haya ninguna fila coincidente en la tabla de la derecha, Tabla B. Las filas de la tabla izquierda que no tengan una fila coincidente en la tabla de la derecha se enumeran en el resultado de la fusión con valores NULL, mostrando que no hay ninguna fila coincidente en la tabla de la derecha. En este caso, el conjunto de resultados enumera todos los empleados, incluso si no tienen departamento asignado, como es el caso de "Donna" en la siguiente tabla.

FirstName

DepartmentID

DepartmentName

Joe

31

Ventas

Jane

33

Ingeniería

Marca

33

Ingeniería

Mary

34

Administración

Dan

34

Administración

Donna

NULL

NULL

ClosedFusión exterior derecha

Una fusión exterior derecha se comporta exactamente como una fusión exterior derecha, salvo si es al revés, para que todas las entradas de la derecha, Tabla B, son además devueltas en el conjunto de resultados, incluso no hay filas coincidentes en la tabla izquierda, Tabla A. En este caso, el conjunto de resultados enumera todos los departamentos, aunque no hay ningún empleado asociado a un departamento, como es el caso del departamento de "Marketing" de la siguiente tabla.

FirstName

DepartmentID

DepartmentName

Joe

31

Ventas

Jane

33

Ingeniería

Marca

33

Ingeniería

Mary

34

Administración

Dan

34

Administración

NULL

35

Marketing

ClosedFusión exterior completa

Una fusión exterior completa devuelve un resultado que enumera todas las filas tanto de la tabla de la derecha como de la izquierda, aunque una fila no tenga ningún valor coincidente en la otra tabla. En el caso de que una fila no tenga una fila coincidente en la otra tabla, el valor que falta se devuelve como NULL. Este resultado incluye tanto el departamento de "Marketing", aunque no tenga empleados, como la empleada "Donna", aunque no tenga departamento asignado.

FirstName

DepartmentID

DepartmentName

Joe

31

Ventas

Jane

33

Ingeniería

Marca

33

Ingeniería

Mary

34

Administración

Dan

34

Administración

Donna

NULL

NULL

NULL

35

Marketing

Temas relacionados