Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Al incluir varios orígenes de datos en una consulta de Access, se usan combinaciones para limitar los registros que desea ver, en función de cómo se relacionan entre sí los orígenes de datos. 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 convierta en un registro en 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 usa 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 entre tablas, incluido cómo crear una.

Nota: Puede combinar consultas del mismo modo que se unen tablas y también se pueden combinar ambas.

En este artículo

Información general

Una base de datos es un conjunto de tablas de datos que tienen relaciones lógicas entre sí. Las relaciones se usan para conectar tablas por 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 se representa mediante una combinación.

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

Las combinaciones se comportan de forma similar a los criterios de consulta, ya que establecen reglas que los datos deben coincidir para incluirse en las operaciones de la consulta. A diferencia de los criterios, las combinaciones también especifican que cada par de filas que cumplan las condiciones de combinación se combinará 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 desiguales. En este artículo se explora cada tipo de combinación que puede usar, por qué se usa cada tipo y cómo crear las combinaciones.

Las combinaciones son para consultar qué relaciones existen con 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 la 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 (en la imagen) y revisar o cambiar la combinación.

Las combinaciones a veces son direccionales. Esta área del cuadro de diálogo muestra qué tabla es cuál en la combinación y qué campos se usan para combinar 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.

Se pueden usar campos de ambas tablas y se muestran los datos que pertenecen a una tarea determinada de cada una. 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 desiguales. Las combinaciones cruzadas y las combinaciones desiguales son tipos de combinación avanzados y rara vez se usan, pero debe conocerlas para tener una comprensión completa de cómo funcionan las combinaciones.

Combinaciones internas: solo 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á combinaciones internas. Al crear una combinación y no especificar el tipo de combinación, Access asume que desea una combinación interna. Las combinaciones internas son útiles porque le permiten combinar datos de dos orígenes basados en valores compartidos, por lo que solo verá los datos cuando haya una imagen completa.

Combinaciones externas: todos los datos relacionados se combinan 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( la segunda tabla de la combinación).

Combinaciones externas completas: todos los datos, combinados donde sea factible

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 explícitamente. Sin embargo, puede usar una combinación cruzada y criterios para lograr el mismo efecto.

Combinaciones cruzadas: todos los datos, combinados de todas las maneras posibles

La mayoría de las veces, una combinación cruzada es un efecto secundario de agregar dos tablas a una consulta y, después, olvidarse de unirlas. Access interpreta esto para indicar que quiere ver todos los registros de una tabla combinados con todos los registros de la otra tabla (todas las combinaciones de registros posibles). Dado que no se pueden combinar datos, este tipo de combinación rara vez produce resultados útiles. Pero hay algunos casos en los que una combinación cruzada es justo lo que necesita.

Combinaciones desiguales: como una combinación normal, pero con una comparación diferente para combinar filas

Las combinaciones desiguales usan un operador distinto del signo igual (=) para comparar valores y determinar si se combinan los datos y cómo. Las combinaciones desiguales 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 existe un valor común en ambas tablas combinadas

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

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 se corresponden con 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 aquellas filas en las que existe un valor común en ambas tablas combinadas.

Cómo usar una combinación interna?

La mayoría de las veces, no es necesario hacer nada para usar una combinación interna. Si las tablas que agrega a una consulta ya tienen relaciones, Access crea automáticamente una combinación interna entre cada par de tablas relacionadas, al agregar 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".

Aunque no haya creado relaciones, Access crea automáticamente combinaciones internas si agrega dos tablas a una consulta y esas tablas tienen un campo con el mismo tipo de datos o compatible y uno de los campos de combinación 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 ellas, Access no creará automáticamente combinaciones internas entre esas consultas o entre consultas y tablas. Por lo general, debe crearlos usted mismo. Para crear una combinación interna, arrastre 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, como se muestra a continuación:

FROM tabla1 INNER JOIN tabla2 ON tabla1.campo1 comparar 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 la combinación interna, 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 ambos lados 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 a ambos lados de la combinación.

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

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

Dado que algunas de las filas de un lado de una combinación externa no tendrán 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 las filas no se correspondan.

Cómo usar una combinación externa?

Para crear una combinación externa, modifique una combinación interna existente. Si no existe ninguna combinación interna, cree una y, a continuación, cámbielo a una combinación externa.

Cambiar una combinación interna a 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, anote las opciones que aparecen junto a la opción 2 y la 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 desde el origen de datos donde se incluirán todas las filas en el origen de datos, donde solo se incluirán las filas que cumplan la condición de combinación.

Combinaciones externas ambiguas

Si crea una consulta que contiene una función LEFT JOIN y una INNER JOIN, es posible que Access no pueda determinar qué operación de combinación realizar primero. Dado que los resultados son diferentes dependiendo de si la combinación izquierda o interna se realiza en primer lugar, Access muestra un mensaje de error:

Para corregir este error, debe modificar la consulta para que esté claro qué combinación debe realizar primero.

Sintaxis SQL para una combinación externa

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

FROM tabla1 [ LEFT | RIGHT ] JOIN tabla2ON tabla1.campo1 comparar 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 la combinación externa, vea el tema LEFT JOIN, Operaciones RIGHT JOIN.

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 según valores comunes, use una combinación externa completa. Access no admite explícitamente combinaciones externas completas, pero puede lograr el mismo efecto mediante una consulta de unión. El procedimiento siguiente explica cómo hacerlo, pero si desea obtener más información sobre las consultas de unión, vea 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 presione ENTRAR.

  5. Escriba UNION y presione ENTRAR.

    Nota: No use la palabra clave ALL al usar 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 LEFT JOIN a RIGHT JOIN.

  8. Elimine el punto y coma al final de la segunda cláusula FROM y presione ENTRAR.

  9. Agregue una cláusula WHERE que especifique que el valor del campo de combinación es NULL en la primera tabla enumerada 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]

    Debería agregar 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 son diferentes de las combinaciones internas y externas, ya que no se representan explícitamente 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. Cada vez que ejecute una consulta que tenga tablas que no estén combinadas explícitamente, el resultado será un producto cruzado. Las combinaciones cruzadas suelen no ser accidentales, pero hay casos en los que pueden ser útiles.

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

Si desea examinar todas las posibles combinaciones 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á pensando en ofrecer devoluciones a sus clientes. Puede crear una consulta que sume las compras de cada cliente, crear una tabla pequeña que tenga varios porcentajes de devoluciones y combinar los dos en otra consulta que realice una combinación cruzada. Acaba con una consulta que muestra un conjunto de devoluciones hipotéticas para cada cliente.

Cómo usar una combinación cruzada?

Cada vez que incluya tablas o consultas en la consulta, se producirá una combinación cruzada y no creará 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 combinan explícitamente a ninguna otra tabla o consulta en las demás filas de los resultados. Considere el escenario de devolución del párrafo anterior. Suponga que tiene 91 clientes y que desea ver cinco posibles porcentajes de devoluciones. La combinación cruzada produce 455 filas (el producto de 91 y 5).

Como puede imaginar, las combinaciones cruzadas no intencionadas pueden crear un gran número de filas en los resultados de la consulta. Además, estos resultados generalmente no tienen sentido, porque si en realidad no tiene intención de combinar cada fila con cada otra fila, 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 intencionada pueden tardar mucho tiempo en ejecutarse.

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

1. Los campos rodeados deben combinarse entre sí.

Producto cruzado no intencionado

1. Anote el gran número de registros.

Resultado de consulta corregido

1. Tenga en cuenta que el número de registros es mucho menor.

Principio de página

Combinar tablas basadas en una desigualdad de valores de campo

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

Si desea combinar las filas de dos orígenes de datos basados 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 menor o igual que (<=). Las combinaciones desiguales que se basan en el operador no es igual a (<>) pueden devolver casi tantas filas como las combinaciones cruzadas y los resultados pueden ser difíciles de interpretar.

Cómo usar una combinación desigual?

Las combinaciones desiguales 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 por el operador que quiera usar. Después de hacer esto, solo puede volver a abrir la consulta en la vista Diseño si primero vuelve a cambiar el operador de comparación a igual (=) 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 tipos de datos diferentes), 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 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

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, editar o eliminar una relación

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.