Este es uno de un conjunto de artículos sobre Access SQL. En este artículo se describe cómo escribir una cláusula FROM y se usan ejemplos para mostrar diferentes técnicas que puede usar en una cláusula FROM.
En una instrucción SELECT, se especifican orígenes de datos en la cláusula FROM. La cláusula FROM también puede contener una operación de unión. Puede usar una operación de unión para hacer coincidir y combinar datos de dos orígenes de datos, como dos tablas o una tabla y una consulta.
Para obtener información general sobre Access SQL, vea el artículo Access SQL: Conceptos básicos, vocabulario y sintaxis.
En este artículo
Especificar orígenes de datos
En una instrucción SELECT, la cláusula FROM especifica las tablas o consultas que contienen los datos que se usarán en la cláusula SELECT.
Imagine que quiere conocer el número de teléfono de un cliente específico. Si se da por hecho que la tabla que contiene el campo donde se almacenan estos datos se denomina tblCustomer, la cláusula FROM sería similar a la siguiente:
FROM tblCustomer
Puede usar corchetes para delimitar el nombre. Si el nombre no contiene espacios ni caracteres especiales (como marcas de puntuación), los corchetes son opcionales. Si el nombre contiene espacios o caracteres especiales, tendrá que usar corchetes.
Sugerencia: Un nombre con espacios es más fácil de leer y puede ahorrarle tiempo al diseñar formularios e informes, pero puede que termine escribiendo instrucciones SQL más largas. Tenga esto en cuenta al asignar nombres a objetos en una base de datos de Access.
Usar nombres de sustitución para orígenes de datos
Puede usar un nombre distinto para hacer referencia a una tabla en una instrucción SELECT si usa un alias de tabla en la cláusula FROM. Un alias de tabla es un nombre que se asigna a un origen de datos en una consulta al usar una expresión como un origen de datos, o para hacer que la instrucción SQL sea más fácil de escribir y leer. Esto puede ser especialmente útil si el nombre de origen de datos es largo o difícil de escribir, especialmente cuando hay varios campos que tienen el mismo nombre en diferentes tablas.
Por ejemplo, para seleccionar datos de dos campos, los dos denominados “ID”, uno que proviene de la tabla tblCustomer y otro de la tabla tblOrder, puede que la cláusula SELECT sea similar a la siguiente:
SELECT [tblCustomer].[ID], [tblOrder].[ID]
Al usar alias de tabla en la cláusula FROM, podría escribir la consulta con mayor facilidad. La cláusula FROM, con alias de tabla, sería similar a la siguiente:
FROM [tblCustomer] AS [C], [tblOrder] AS [O]
Después, puede usar estos alias de tabla en la cláusula SELECT del modo siguiente:
SELECT [C].[ID], [O].[ID]
Nota: Al usar un alias de tabla, puede hacer referencia a la tabla en la instrucción SQL si usa el alias o el nombre de tabla completo.
Combinar datos relacionados
Si necesita una forma de combinar pares de registros de dos orígenes de datos en registros únicos de un resultado de consulta, puede realizar una combinación. Una combinación es una operación de SQL que especifica cómo se relacionan dos orígenes de datos y si los datos de un origen tienen que incluirse en el caso de que no haya datos correspondientes en el otro origen.
Para combinar la información de dos orígenes de datos, realice una operación de combinación en el campo que tengan en común. Cuando los valores almacenados en el campo coinciden, los datos de los registros se combinan en los resultados.
Además de combinar datos, puede usar una combinación para especificar si se incluyen registros de alguna de las tablas en el caso de que no haya ningún registro correspondiente en la tabla relacionada.
Por ejemplo, imagine que quiere usar datos de dos tablas en una consulta: tblCustomer y tblOrder. Las dos tablas tienen un campo, CustomerID, que identifica a un cliente. Puede que cada registro de la tabla tblCustomer tenga uno o más registros correspondientes en la tabla tblOrder, y los valores correspondientes se pueden determinar si se usan los valores del campo CustomerID.
Si quiere unir las tablas para que la consulta combine los registros de las tablas, y que se excluyan registros de una de las tablas si no hay un registro correspondiente en la otra tabla, la cláusula FROM sería parecida a la siguiente (se agregaron saltos de línea para mejorar la legibilidad):
FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]
En Access, las combinaciones se producen en la cláusula FROM de una instrucción SELECT. Hay dos tipos de combinaciones: combinaciones internas y combinaciones externas. En las secciones siguientes se explican estos dos tipos de combinaciones.
Combinaciones internas
Las combinaciones internas son el tipo de combinación más común. Cuando se ejecuta una consulta con una combinación interna, los únicos registros que se incluyen en los resultados de la consulta son los registros en los que existe un valor común en las dos tablas combinadas.
Una combinación interna tiene la sintaxis siguiente (se agregaron saltos de línea para mejorar la legibilidad):
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2
En la tabla siguiente se describen las diferentes partes de una operación INNER JOIN.
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. |
opcomp |
Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>". |
Combinaciones externas
Las combinaciones externas son similares a las combinaciones internas, ya que le indican a una consulta cómo combinar información de dos orígenes. Pero son distintas porque también especifican si se incluyen datos cuando no existen valores comunes. Las combinaciones externas son direccionales: pueden especificar si se incluyen todos los registros del primer origen de datos indicado de la combinación (denominada combinación izquierda), o bien si se incluyen todos los registros del segundo origen de datos de la combinación (denominada combinación derecha).
Una combinación externa tiene la sintaxis siguiente:
FROM tabla1 [ LEFT | RIGHT ] JOIN tabla2
ON tabla1.campo1opcomp tabla2.campo2En la tabla siguiente se describen las diferentes partes de las operaciones LEFT JOIN y RIGHT JOIN.
Parte |
Descripción |
tabla1, tabla2 |
Nombres de las tablas cuyos registros se combinan. |
campo1, campo2 |
Nombres de los campos que se combinan. Estos campos tienen que ser del mismo tipo de datos y contener la misma clase de datos, pero no han de tener el mismo nombre. |
opcomp |
Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>". |
Para obtener más información sobre las combinaciones, vea el artículo Combinar tablas y consultas.