Combinar tablas y consultas

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Si incluye varios orígenes de datos en una consulta de Access, use combinaciones para limitar los registros que desee ver, en función de cómo se relacionan los orígenes de datos entre sí. También puede usar combinaciones para combinar registros de ambos orígenes de datos, de modo que cada par de registros de los orígenes se conviertan en un registro de los resultados de la consulta.

En este artículo se describen los distintos tipos de combinaciones y se muestra cómo usarlas en una consulta. De forma predeterminada, se crea automáticamente una combinación si ya existe una relación entre dos orígenes de datos que se usan en una consulta. También se crea una combinación si hay campos que se corresponden claramente entre sí. Puede eliminar una combinación creada automáticamente. En este artículo se proporciona información básica sobre las relaciones de tablas, incluido cómo crear una.

Nota: Puede unir las consultas de la misma manera que une las tablas, y también puede unirse a ambas.

En este artículo...

Información general

Tipos de combinaciones

Mostrar las filas en las que exista un valor común en las dos tablas combinadas

Mostrar todas las filas de una tabla y las filas correspondientes de la otra tabla

Mostrar todas las filas de ambas tablas y combinarlas donde exista un valor común

Combinaciones cruzadas

Combinar tablas según una desigualdad de valores de campo

Eliminar una combinación

Información general

Una base de datos es una colección de tablas de datos que tienen relaciones lógicas entre sí. Las relaciones se usan para conectar tablas según campos que tienen en común. Una tabla puede formar parte de cualquier número de relaciones, pero cada relación siempre tiene exactamente dos tablas. En una consulta, una relación está representada por una combinación.

Cuando se agregan tablas a una consulta, Access crea combinaciones que se basan en relaciones que se han definido entre las tablas. Puede crear manualmente combinaciones en las consultas, incluso si no representan relaciones que ya se han definido. Si usa otras consultas (en lugar de o además de las tablas) como orígenes de datos para una consulta, puede crear combinaciones entre las consultas de origen y también entre esas consultas y cualquier tabla que use como origen de los datos.

Uniones se comporta de forma similar a los criterios de consulta en el que se establecen las reglas que deben cumplir los datos para que se incluyan en las operaciones de consulta. A diferencia de los criterios, las combinaciones también especifican que cada par de filas que cumplan las condiciones de combinación se combinen en el conjunto de registros para formar una sola fila.

Existen cuatro tipos básicos de combinaciones: combinaciones internas, combinaciones externas, combinaciones cruzadas y combinaciones de desigualdad. Este artículo explora cada tipo de combinación que puede usar, por qué usar cada tipo y cómo crear las combinaciones.

Las combinaciones son consultas de las tablas: una indicación de cómo se pueden combinar los datos de dos orígenes en función de los valores de datos que tienen en común. Esta es una ilustración de una combinación en la vista Diseño de la consulta, con las propiedades de la combinación abiertas en un cuadro de diálogo:

El cuadro Propiedades de la combinación.

Esta línea entre las tablas representa la combinación. Haga doble clic en una combinación para abrir el cuadro de diálogo Propiedades de la combinación (representada) y revisar o cambiar la combinación.

A veces, las combinaciones son direccionales. Esta área del cuadro de diálogo muestra la tabla que pertenece a la combinación y los campos que se usan para unirse a las tablas.

Esta área determina el tipo de combinación: la opción 1 es una combinación interna, 2 es una combinación externa izquierda y 3 es una combinación externa derecha.

Los campos de ambas tablas se pueden usar y los datos que pertenecen a una tarea determinada se muestran de cada uno de ellos. En una combinación interna, no se incluyen otros datos. En una combinación externa, los registros no relacionados de una tabla también se incluyen en los resultados de la consulta.

Principio de página

Tipos de combinaciones

Existen cuatro tipos básicos de combinaciones: combinaciones internas, combinaciones externas, combinaciones cruzadas y combinaciones de desigualdad. Las combinaciones entre combinaciones y de desigualdad son tipos de combinación avanzados y rara vez se usan, pero debe conocerlos para comprender mejor cómo funcionan las combinaciones.

Combinaciones internas: solo los datos relacionados de ambas tablas combinadas

Una combinación interna es una en la que Access solo incluye datos de una tabla si hay datos correspondientes en la tabla relacionada y viceversa. La mayoría de las veces, usará las combinaciones internas. Al crear una combinación y no especificar el tipo de combinación, Access supone que desea una combinación interna. Las combinaciones internas son útiles porque le permiten combinar datos de dos orígenes basándose en valores compartidos, de modo que solo verá los datos cuando haya una imagen completa.

Combinaciones externas: todos los datos relacionados combinados correctamente, además de todos los registros restantes de una tabla

Una combinación externa es como una combinación interna, pero agrega las filas restantes de una de las tablas. Las combinaciones externas son direccionales: una combinación externa izquierda incluye todos los registros de la tabla izquierda (la primera tabla de la combinación y una combinación externa derecha) incluye todos los registros de la tabla derecha, es decir, la segunda tabla de la combinación.

Combinaciones externas completas: todos los datos combinados donde sea posible

En algunos sistemas, una combinación externa puede incluir todas las filas de ambas tablas, con filas combinadas cuando se corresponden. Esto se denomina una combinación externa completa y Access no las admite de forma explícita. Sin embargo, puede usar una combinación cruzada y criterios para lograr el mismo efecto.

Combinaciones cruzadas: todos los datos combinados en todas las formas posibles

La mayoría de las veces, una combinación cruzada es un efecto secundario de agregar dos tablas a una consulta y, a continuación, olvidar unirse a ellas. Access lo interpreta para indicar que desea ver todos los registros de una tabla combinada con cada registro de la otra tabla, todas las combinaciones de registros posibles. Dado que no se pueden combinar datos, este tipo de combinación raramente produce resultados útiles. Sin embargo, hay algunos casos en los que una combinación cruzada es solo lo que necesita.

Combinaciones de desigualdad: como una combinación regular, pero con una comparación diferente para combinar filas

Las combinaciones de desigualdad usan un operador distinto del signo igual (=) para comparar valores y determinar si se deben combinar los datos y cómo. Las combinaciones de desigualdad no se admiten explícitamente, pero puede usar una combinación cruzada y criterios para lograr el mismo efecto.

Mostrar las filas en las que exista un valor común en las dos tablas combinadas

Si desea mostrar solo las filas que tienen valores coincidentes en el campo combinado, use una combinación interna. Access crea automáticamente las combinaciones internas.

Las combinaciones internas son el tipo de combinación más común. Indican a una consulta que las filas de una de las tablas combinadas corresponden a las filas de la otra tabla, en función de los datos de los campos combinados. Cuando se ejecuta una consulta con una combinación interna, solo se incluirán en las operaciones de consulta las filas en las que exista un valor común en las dos tablas combinadas.

¿Cómo se usa una combinación interna?

La mayoría de las veces, no es necesario que haga nada para usar una combinación interna. Si las tablas que agrega a una consulta ya tienen relaciones, Access crea automáticamente una unión interna entre cada pareja de tablas relacionadas, cuando agrega las tablas. Si se aplica la integridad referencial, Access muestra también un "1" sobre la línea de la combinación para indicar la tabla del lado "uno" de una relación de uno a varios y un símbolo de infinito () para indicar la tabla del lado "varios".

Incluso si no ha creado relaciones, Access crea automáticamente las combinaciones internas si agrega dos tablas a una consulta y esas tablas tienen un campo con el mismo tipo de datos o con un tipo de datos compatible y uno de los campos combinados es un clave principal. Los símbolos "uno" y "varios" no se muestran en este caso porque no se exige la integridad referencial.

Si agrega consultas a la consulta y no ha creado relaciones entre dichas consultas, Access no crea automáticamente combinaciones internas entre dichas consultas o entre las consultas y las tablas. Por lo general, deberías crearlos tú mismo. Puede crear una combinación interna arrastrando un campo de un origen de datos a un campo de otro origen de datos. Access muestra una línea entre los dos campos para señalar que se ha creado una combinación.

Sintaxis SQL para una combinación interna

Las combinaciones internas se especifican en SQL en la cláusula FROM, tal y como se muestra a continuación:

FROM tabla1 INNER JOIN tabla2 ON tabla1.Campo1 Compare Tabla2.campo2

La operación INNER JOIN consta de las siguientes partes:

Parte

Descripción

tabla1, tabla2

Nombres de las tablas cuyos registros se combinan.

campo1, campo2

Nombres de los campos que se combinan. Si no son numéricos, los campos deben ser del mismo tipo de datos y contener la misma clase de datos, pero pueden tener nombres distintos.

comparar

Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>".

Para obtener más información sobre la sintaxis de las combinaciones internas, vea el tema operación INNER JOIN.

Principio de página

Mostrar todas las filas de una tabla y las filas correspondientes de la otra tabla

Las combinaciones externas indican a una consulta que, aunque algunas de las filas de ambas caras de la combinación se corresponden exactamente, la consulta debe incluir todas las filas de una tabla y también las filas de la otra tabla que comparten un valor común en ambos lados de la combinación.

Las combinaciones externas pueden ser combinaciones externas de apertura o pueden ser combinaciones externas correctas. En una combinación externa izquierda, la consulta incluye todas las filas de la primera tabla de la instrucción SQL de la cláusula FROM, y solo las filas de la otra tabla en la que el campo de combinación contiene valores comunes de ambas tablas. En una combinación externa derecha, la consulta incluye todas las filas de la segunda tabla en la cláusula FROM de instrucción SQL, y solo las filas de la otra tabla en la que el campo de combinación contiene valores comunes de ambas tablas.

Nota: Puede indicar fácilmente qué tabla es la tabla izquierda o la tabla derecha en una combinación determinada haciendo doble clic en la combinación y, a continuación, buscando en el cuadro de diálogo Propiedades de la combinación . También puede cambiar a la vista SQL y, a continuación, examinar la cláusula FROM.

Como algunas de las filas de un lado de una combinación externa no tienen filas correspondientes de la otra tabla, algunos de los campos devueltos en los resultados de la consulta de esa otra tabla estarán vacíos cuando no se correspondan las filas.

¿Cómo se usa una combinación externa?

Para crear una combinación externa, debe modificar una combinación interna existente. Si no existe una combinación interna, se crea una y, a continuación, se cambia a una combinación externa.

Convertir una combinación interna en una combinación externa

  1. En la vista Diseño de la consulta, haga doble clic en la combinación que desea cambiar.

    Aparece el cuadro de diálogo Propiedades de la combinación.

  2. En el cuadro de diálogo Propiedades de la combinación , observe las opciones que aparecen junto a opción 2 y opción 3.

  3. Haga clic en la opción que quiera usar y, después, haga clic en Aceptar.

  4. Access muestra la combinación y muestra una flecha que apunta del origen de datos donde se incluirán todas las filas en el origen de datos donde se incluirán solo las filas que cumplan la condición de combinación.

Combinaciones externas ambiguas

Si crea una consulta que contiene una combinación izquierda y una combinación interna, es posible que Access no pueda determinar qué operación de combinación debe realizar primero. Dado que los resultados son diferentes dependiendo de si la combinación izquierda o la Unión interna se realizan primero, Access muestra un mensaje de error:

Para corregir este error, debe modificar la consulta para que quede claro qué combinación se debe realizar en primer lugar.

Sintaxis SQL para una combinación externa

Las combinaciones externas se especifican en SQL en la cláusula FROM, tal y como se muestra a continuación:

FROM tabla1 [Left | Right] unirse a Tabla2
en tabla1. Campo1 Compare Tabla2. Campo2

Las operaciones LEFT JOIN y RIGHT JOIN constan de las siguientes partes:

Parte

Descripción

tabla1, tabla2

Nombres de las tablas cuyos registros se combinan.

campo1, campo2

Nombres de los campos que se combinan. Estos campos deben ser del mismo tipo de datos y contener la misma clase de datos, pero no tienen que tener el mismo nombre.

comparar

Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>".

Para obtener más información sobre la sintaxis de las combinaciones externas, vea el tema operaciones de combinación izquierda, derecha.

Principio de página

Mostrar todas las filas de ambas tablas y combinarlas donde exista un valor común

Si desea mostrar todas las filas de dos tablas y combinarlas en función de valores comunes, use una combinación externa completa. Access no admite de forma explícita combinaciones externas completas, pero puede lograr el mismo efecto mediante una consulta de Unión. En el procedimiento siguiente se explica cómo hacerlo, pero si desea más información sobre las consultas de Unión, consulte la sección vea también .

Para usar una consulta de Unión para realizar una combinación externa completa:

  1. Cree una consulta que tenga una combinación externa izquierda en el campo que desee usar para una combinación externa completa.

  2. En el grupo Vistas de la pestaña Inicio, haga clic en Vista y, después, en Vista SQL.

  3. Presione CTRL + C para copiar el código SQL.

  4. Elimine el punto y coma al final de la cláusula FROM y, a continuación, presione Entrar.

  5. Escriba UNION y presione ENTRAR.

    Nota: No use la palabra clave ALL cuando use una consulta de Unión para realizar una combinación externa completa.

  6. Presione CTRL + V para pegar el código SQL que copió en el paso 3.

  7. En el código que pegó, cambie la combinación izquierda a la derecha.

  8. Elimine el punto y coma al final de la segunda cláusula FROM y, a continuación, presione Entrar.

  9. Agregue una cláusula WHERE que especifique que el valor del campo de combinación es NULL en la primera tabla que aparece en la cláusula FROM (la tabla izquierda).

    Por ejemplo, si la cláusula FROM es:

    FROM Products RIGHT JOIN [Order Details] 
    ON Products.ID = [Order Details].[Product ID]

    Agregaría la siguiente cláusula WHERE:

    WHERE Products.ID IS NULL

  10. Escriba un punto y coma (;) al final de la cláusula WHERE para indicar el final de la consulta de Unión.

  11. En la pestaña Diseño, en el grupo Resultados, haga clic en Ejecutar.

Combinaciones cruzadas

Las combinaciones cruzadas se diferencian de las combinaciones internas y externas en que no se representan de forma explícita en Access. En una combinación cruzada, cada fila de una tabla se combina con cada fila de otra tabla, lo que da como resultado lo que se denomina un producto cruzado o un producto cartesiano. Siempre que ejecute una consulta con tablas que no se hayan Unido explícitamente, el resultado será un producto cruzado. Las combinaciones cruzadas suelen ser involuntarias, pero hay casos en los que pueden ser útiles.

¿Por qué debería usar una combinación cruzada?

Si desea examinar todas las combinaciones posibles de filas entre dos tablas o consultas, use una combinación cruzada. Por ejemplo, supongamos que su empresa ha tenido un año espectacular y está considerando ofrecer descuentos a sus clientes. Puede crear una consulta que sume las compras de cada cliente, crear una tabla pequeña con varios porcentajes posibles de descuentos y combinar las dos en otra consulta que realiza una combinación cruzada. Termina con una consulta que muestra un conjunto de descuentos hipotéticos para cada cliente.

¿Cómo se usa una combinación cruzada?

Una combinación cruzada se genera cada vez que se incluyen tablas o consultas en la consulta y no se crea al menos una combinación explícita para cada tabla o consulta. Access combina todas las filas de cada tabla o consulta que no se hayan Unido explícitamente a ninguna otra tabla o consulta en todas las demás filas de los resultados. Considere el escenario de reembolso del párrafo anterior. Suponga que tiene 91 clientes y que desea consultar cinco porcentajes posibles de descuentos. Su combinación cruzada produce 455 filas (el producto de 91 y 5).

Como puede imaginar, las combinaciones cruzadas involuntarias pueden crear un gran número de filas en los resultados de la consulta. Además, estos resultados generalmente son insignificantes, ya que si realmente no pretende combinar cada fila con cada dos filas, la mayoría de las filas combinadas que aparecen en los resultados no tendrán sentido. Por último, las consultas que usan combinaciones cruzadas no intencionales pueden tardar mucho tiempo en ejecutarse.

Combinación cruzada involuntaria en la vista Diseño de la consulta

1. los campos en círculo deberían estar Unidos.

Producto cruzado no intencionado

1. Observe la gran cantidad de registros.

Resultado de consulta corregido

1. tenga en cuenta que el número de registros es mucho más pequeño.

Principio de página

Combinar tablas según una desigualdad de valores de campo

Las combinaciones no tienen que basarse en la equivalencia de los campos combinados. Una combinación se puede basar en cualquier operador de comparación, como mayor que (>), menor que (<) o no es igual a (<>). Las combinaciones que no se basan en equivalencia se denominan combinaciones desiguales.

Si desea combinar las filas de dos orígenes de datos basándose en valores de campo que no son iguales, use una combinación desigual. Normalmente, las combinaciones desiguales se basan en los operadores de comparación mayor que (>), menor que (<), mayor o igual que (> =), o menores o iguales que (< =). Las combinaciones de desigualdad que se basan en el operador no es igual a (<>) pueden devolver casi tantas filas como combinaciones cruzadas y los resultados pueden ser difíciles de interpretar.

¿Cómo se usa una combinación de desigualdad?

Las combinaciones de desigualdad no se admiten en la vista Diseño. Si desea usarlos, debe hacerlo con la vista SQL. Sin embargo, puede crear una combinación en la vista Diseño, cambiar a la vista SQL, buscar el operador de comparación igual (=) y cambiarlo al operador que desee usar. Después de hacerlo, solo puede abrir la consulta en la vista Diseño si cambia primero el operador de comparación a es igual a (=) en la vista SQL.

Eliminar una combinación

Si Access crea automáticamente una combinación que no desea o si crea una combinación por error, por ejemplo, una combinación entre dos campos que tienen distintos tipos de datos, puede eliminar la combinación.

  1. En la cuadrícula de diseño de la consulta, haga clic en la combinación que desea quitar.

  2. Presione la tecla Suprimir.

-o bien-

  • En la cuadrícula de diseño de la consulta, haga clic con el botón secundario en la combinación que desea quitar y, a continuación, haga clic en eliminar.

Principio de página

Vea también

Agregar registros a una tabla mediante una consulta de datos anexados

Combinar los resultados de varias consultas de selección mediante una consulta de Unión

Crear una consulta basada en varias tablas

Crear, modificar o eliminar una relación

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×