Combina registros de tabla de origen al usarse en una cláusula FROM.
Sintaxis
FROM tabla1 [ LEFT | RIGHT ] JOIN tabla2
ON tabla1.campo1opcomp tabla2.campo2Las 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. |
opcomp |
Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>". |
Observaciones
Use una operación LEFT JOIN para crear un combinación externa izquierda. En las combinaciones externas izquierdas se incluyen todos los registros de la primera tabla (izquierda), incluso si no existen valores coincidentes para registros en la segunda tabla (derecha).
Use una operación RIGHT JOIN para crear un combinación externa derecha. En las combinaciones externas derechas se incluyen todos los registros de la segunda tabla (derecha), incluso si no existen valores coincidentes para registros en la primera tabla (izquierda).
Por ejemplo, puede usar LEFT JOIN con las tablas Departamentos (izquierda) y Empleados (derecha) para seleccionar todos los departamentos, incluidos aquellos que no tengan ningún empleado asignado. Para seleccionar todos los empleados, incluidos aquellos que no estén asignados a un departamento, use RIGHT JOIN.
En el ejemplo siguiente se muestra cómo combinar las tablas Categorías y Productos en el campo CategoryID. La consulta genera una lista de todas las categorías, incluidas aquellas que no contienen ningún producto:
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
En este ejemplo, CategoryID es el campo combinado, pero no se incluye en los resultados de la consulta porque no se incluye en la instrucción SELECT. Para incluir el campo combinado, escriba el nombre de campo en la instrucción SELECT (en este caso, Categories.CategoryID).
Para crear una consulta en la que solo se incluyan registros donde los datos de los campos combinados sean los mismos, use una operación INNER JOIN.
-
Las operaciones LEFT JOIN o RIGHT JOIN se pueden anidar dentro de una operación INNER JOIN, pero una operación INNER JOIN no se puede anidar dentro de una operación LEFT JOIN o RIGHT JOIN. Vea la discusión sobre anidamiento en el tema INNER JOIN para conocer cómo se anidan las combinaciones dentro de otras combinaciones.
-
Se pueden vincular varias cláusulas ON. Vea la discusión sobre la vinculación de cláusulas en el tema INNER JOIN para conocer el procedimiento.
Si intenta combinar campos que contienen datos de Memo u objeto OLE, se producirá un error.