Operación INNER JOIN

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Combina los registros de dos tablas si hay valores coincidentes en un campo común.

Sintaxis

FROM tabla1 INNER JOIN tabla2 ON tabla1. campo1compopr 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 el mismo tipo de datos, pero no es necesario que tengan el mismo nombre.
opcomp Cualquier operador de comparación relacional: "=", "<," ">," "<=", ">=" o "<>."

      

Observaciones

Puede usar una operación INNER JOIN en cualquier cláusula FROM. Este es el tipo de combinación más común . Las combinaciones internas combinan los registros de dos tablas si hay valores coincidentes en un campo común de las dos tablas.

Puede usar INNER JOIN con las tablas Departamentos y Empleados para seleccionar todos los empleados de cada departamento. En cambio, para seleccionar todos los departamentos (incluso si algunos no tienen ningún empleado asignado) o todos los empleados (incluso si algunos no están asignados a un departamento), puede usar una operación LEFT JOIN o RIGHT JOIN para crear una combinación externa.

Si intenta combinar campos que contienen datos Memo u Objeto OLE, se produce un error.

Puede combinar dos campos numéricos de tipos similares. Por ejemplo, puede combinar en campos Autonumeración y Largo porque son tipos similares. Pero no puede combinar los tipos de campo Sencillo y Doble.

En el siguiente ejemplo se muestra cómo se pueden combinar las tablas Categorías y Productos en el campo IdCategoría:

SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products
ON Categories.CategoryID = Products.CategoryID;

En el ejemplo anterior, IdCategoría es el campo combinado, pero no se incluye en el resultado de la consulta porque no está incluido en la instrucción SELECT. Para incluir el campo combinado, incluya el nombre del campo en la instrucción SELECT, en este caso, Categories.CategoryID.

También puede vincular varias cláusulas ON en una instrucción JOIN mediante la siguiente sintaxis:

SELECT (campos)
FROM tabla1 INNER JOIN tabla2
ON tabla1. campo1oprtable2. campo1 Y
ON tabla1. campo2oprtable2. campo2) O BIEN,
ON tabla1. campo3oprtable2. campo3)];

También puede anidar instrucciones JOIN mediante la siguiente sintaxis:

SELECT (campos)
FROM tabla1 INNER JOIN
(tabla2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabla3. field3compoprtablex. campox)]
ON tabla2. campo2oprtable3. campo3)
ON tabla1. campo1oprtable2. campo2;

LEFT JOIN o RIGHT JOIN se pueden anidar dentro de INNER JOIN, pero INNER JOIN no se puede anidar dentro de LEFT JOIN o RIGHT JOIN.