Combinar tablas y consultas

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Cuando incluya varios orígenes de datos en una consulta de Access, use las combinaciones para limitar los registros que desea ver, en función de cómo se relacionan los orígenes de datos entre sí. También se utilizan combinaciones para combinar registros de ambos orígenes de datos para cada pareja de registros de los orígenes se convierte en un registro en los resultados de la consulta.

En este artículo se describe los distintos tipos de combinaciones y muestra cómo usarlas en una consulta. De forma predeterminada, se crea automáticamente una combinación si ya hay una relación entre dos orígenes de datos que usan en una consulta. También se crea una unión si existen campos que 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 uno.

Nota: Puede unirse a las consultas de la misma manera que combinar tablas y también puede combinar ambos.

En este artículo

Información general

Tipos de combinaciones

Mostrar filas donde existe un valor común en ambas 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 existe 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 se guardan relaciones lógicas entre sí. Use las relaciones para conectar las tablas según los campos que tienen en común. Una tabla puede ser parte de cualquier número de relaciones, pero cada relación siempre tiene exactamente dos tablas. En una consulta, se representa una relación con una combinación.

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

Combinaciones se comportan de forma similar a los criterios de consulta en que se establecen reglas que deben coincidir los datos para incluirlos en las operaciones de consulta. A diferencia de los criterios, las combinaciones también especifican que cada pareja de filas que cumplen las condiciones de combinación se combinen en el conjunto de registros para formar una sola fila.

Hay cuatro tipos básicos de las combinaciones: combinaciones internas, combinaciones externas, combinaciones cruzadas y combinaciones desiguales. 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 a las consultas los que las relaciones a las tablas: una indicación del modo en que los datos de dos orígenes se pueden combinar en función de los valores de datos que tienen en común. Aquí puede ver una ilustración de una combinación en la vista de 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 (descrito) y revisar o cambiar la combinación.

A veces las combinaciones son direccionales. Esta área del cuadro de diálogo refleja qué tabla es qué en la combinación y qué campos se usan para combinar las tablas.

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

Se pueden usar los campos de ambas tablas y se muestran los datos de cada una de ellas pertenecientes a una tarea en concreto. En una combinación interna no se incluyen más datos, mientras que en una externa los registros no relacionados de una tabla también se contemplan en los resultados de la consulta.

Volver al principio

Tipos de combinaciones

Hay cuatro tipos básicos de combinación: combinaciones internas, combinaciones externas, combinaciones cruzadas y combinaciones de desigualdad. Las dos últimas son tipos avanzados de combinación y apenas si se usan, pero es aconsejable conocerlas para tener un panorama completo del modo en que funcionan las combinaciones.

Combinaciones internas: solo se combinan los datos relacionados de ambas tablas

Una combinación interna es aquella en la que Access solo incluye datos de una tabla si existen datos correspondientes en la tabla relacionada, y viceversa. Es el tipo de combinación que usará casi siempre. Si crea una combinación y no especifica el tipo, Access da por hecho que es una combinación interna. Las combinaciones internas son útiles porque permiten combinar datos de dos orígenes en función de los valores que ambos comparten, de modo que los datos solo se ven cuando existe 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 similar a una interna, pero agrega el resto de filas de una de las tablas. Las combinaciones externas son direccionales; así, una combinación externa izquierda incluye todos los registros de la tabla izquierda (la primera de la combinación), mientras que una combinación externa derecha incluye todos los de la tabla derecha (la segunda de la combinación).

Combinaciones externas completas: todos los datos combinados si es viable

En algunos sistemas, una combinación externa puede incluir todas las filas de ambas tablas, con filas combinadas cuando proceda. Esto es lo que se conoce como combinación externa completa. Access no las admite de forma expresa, pero se 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 parte de las veces, una combinación cruzada es un efecto secundario que resulta de agregar dos tablas a una consulta y olvidarse después de combinarlas. Access interpreta esta situación como que se quieren ver todos los registros de una tabla combinados con todos los registros de la otra; es decir, todas las combinaciones posibles de registros. Como no se pueden combinar datos, este tipo de combinación no suele generar resultados prácticos, pero en determinadas ocasiones es justamente una combinación cruzada lo que se necesita.

Combinaciones desiguales: como una combinación regular, pero usando una comparación distinta para combinar filas

En las combinaciones desiguales se usa un operador que no es el signo igual (=) para comparar valores y decidir si combinar los datos y cómo hacerlo. Este tipo de combinación no se admite de forma expresa, pero se puede usar una combinación cruzada y criterios para lograr el mismo efecto.

Mostrar filas donde existe un valor común en ambas tablas combinadas

Una combinación interna se usa cuando se quiere mostrar únicamente las filas que tienen los mismos valores en el campo combinado. Access crea combinaciones internas de manera automática.

Las combinaciones internas son el tipo más común de combinación. Dicen que una consulta que las filas de una de las combinados tablas corresponden a filas de la tabla, basándose en los datos en los campos combinados. Cuando se ejecuta una consulta con una combinación interna, se incluirán sólo aquellas filas donde existe un valor común en ambas tablas combinadas en las operaciones de consulta.

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

En la mayoría de los casos, no hay que hacer nada para usar una combinación interna. Si las tablas que quiere agregar a una consulta ya están relacionadas, cuando las agregue Access crea automáticamente una combinación interna entre cada par de tablas relacionadas. 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 combinaciones internas si se agregan dos tablas a una consulta y las tablas tienen un campo con el mismo o tipo de datos compatible y uno de los campos combinados es una clave principal. Los símbolos de "uno" y "varios" no se muestran en este caso, porque no se exige la integridad referencial.

Si agregar consultas a la consulta y no ha creado relaciones entre las consultas, Access no crea automáticamente las combinaciones internas entre esas consultas o entre las tablas y consultas. En general, debería crearlos usted mismo. Crear una combinación interna arrastrando un campo desde un origen de datos a un campo en otro origen de datos. Access muestra una línea entre los dos campos para mostrar 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 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, vea el tema Operación INNER JOIN.

Volver al principio

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 en ambos lados de la combinación coinciden 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 izquierdas o combinaciones derechas. En una combinación izquierda, la consulta incluye todas las filas de la primera tabla de la declaración SQL de la cláusula FROM y solo las filas de la otra tabla donde el campo de combinación contenga valores comunes de ambas tablas. En una combinación derecha, la consulta incluye todas las filas de la segunda tabla de la declaración SQL de la cláusula FROM y solo las filas de la otra tabla donde el campo de combinación contenga valores comunes de ambas tablas.

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

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

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

Las combinaciones externas se crean modificando combinaciones internas ya existentes. Si no existe una, se crea y, luego, se cambia a combinación externa.

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

  1. En la vista de diseño de la consulta, haga doble clic en la combinación que quiera 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 la 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, además de una flecha que va desde el origen de datos donde estarán incluidas todas las filas hasta el origen de datos donde estarán incluidas solo las filas que cumplan la condición de combinación.

Combinaciones externas ambiguas

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

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

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 [izquierda | RIGHT] JOIN tabla2
en 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 de combinación de la derecha.

Volver al principio

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

Cuando desee mostrar todas las filas de dos tablas y combinarlas basándose en valores comunes, use una combinación externa completa. Access no admite las combinaciones externas completas, pero se puede conseguir el mismo efecto mediante una consulta de unión. El siguiente procedimiento 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 la pestaña Inicio, en el grupo Vistas, haga clic en Vista y, a continuación, haga clic 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 utilice la palabra clave ALL cuando utilice una consulta de unión para realizar una combinación externa completa.

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

  7. En el código que acaba de pegar, cambie LEFT JOIN a RIGHT JOIN.

  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 de la cláusula FROM (tabla a la izquierda).

    Por ejemplo, si la cláusula FROM es:

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

    Agregue 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 el grupo Resultados de la pestaña Diseño, haga clic en Ejecutar.

Combinaciones cruzadas

Combinaciones cruzadas son diferentes de combinaciones internas y externas en 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, generando lo que se denomina un producto cruzado o producto cartesiano. Cualquier momento en que se ejecuta una consulta con tablas que no están explícitamente combinadas, un producto cruzado es el resultado. Combinaciones cruzadas son normalmente no intencionadas, pero hay casos donde puede ser útiles.

¿Por qué se usa 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 negocio tiene un año espectacular y está pensando en ofrecer descuentos a sus clientes. Puede crear una consulta que sume compras de cada cliente, crear una tabla pequeña que tiene varias posibles porcentajes de descuento y combinar las dos en otra consulta que realiza una combinación cruzada. Acabar con una consulta que muestra un conjunto de reembolsos hipotéticos de cada cliente.

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

Una combinación cruzada se produce cada vez que incluir tablas o consultas en la consulta 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 ha unido explícitamente a ninguna otra tabla o consulta para todas las demás filas en los resultados. Considere el escenario de reembolso del párrafo anterior. Supongamos que tiene 91 clientes y que desea ver los cinco posibles porcentajes de descuento. La combinación cruzada genera 455 filas (el producto de 91 y 5).

Como podrá imaginar, las combinaciones cruzadas no intencionadas pueden crear grandes cantidades de filas en los resultados de la consulta. Además, estos resultados son generalmente sentidos, porque si realmente no desea combinar todas las filas con todas las demás filas, la mayoría de las filas combinadas que aparecen en los resultados no tenga sentido. Por último, las consultas que usan combinaciones cruzadas no intencionadas pueden tardar mucho tiempo para ejecutar.

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

1. los campos en un círculo deben combinarse entre sí.

Producto cruzado no intencionado
Producto cruzado devuelto por la combinación cruzada involuntaria descrita anteriormente.

1. tenga en cuenta la gran cantidad de registros.

Resultado de consulta corregido
Una vez creada la combinación correcta de los resultados.

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

Volver al principio

Combinar tablas según una desigualdad de valores de campo

Las combinaciones no tienen que basarse necesariamente 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 la equivalencia se denominan combinaciones de desigualdad.

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

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

No se admiten combinaciones desiguales en la vista Diseño. Si desea usarlas, debe hacerlo mediante la vista SQL. Sin embargo, puede crear una combinación en la vista Diseño, cambiar a vista SQL, buscar el es igual a operador de comparación (=) y a continuación, cambiar al operador que desea usar. Después de esto, solo puede abrir la consulta en la vista Diseño si cambia primero el operador de comparación volver a es igual a (=) en la vista SQL.

Eliminar una combinación

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

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

  2. Presione la tecla SUPR.

-o bien-

  • En la cuadrícula de diseño de consulta, haga clic en la combinación que desee quitar y, a continuación, haga clic en Eliminar.

Volver al principio

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

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

Ampliar sus conocimientos
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.

×