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

Este artigo faz parte de um conjunto de artigos sobre o SQL do Access. Este artigo descreve como escrever uma cláusula FROM e utiliza exemplos para ilustrar as várias técnicas que pode utilizar numa cláusula FROM.

Numa instrução SELECT, o utilizador especifica origens de dados na cláusula FROM. A cláusula FROM também pode conter uma operação JOIN. Pode utilizar uma operação JOIN para fazer corresponder e combinar dados de duas origens de dados, como duas tabelas ou uma tabela e uma consulta.

Para ver uma descrição geral do SQL do Access, consulte o artigo SQL do Access: conceitos básicos, vocabulário e sintaxe.

Neste artigo

Especificar origens de dados

Numa instrução SELECT, a cláusula FROM especifica as tabelas ou as consultas que contêm os dados que a cláusula SELECT irá utilizar.

Suponhamos que pretende saber o número de telefone de um cliente específico. Partindo do princípio de que a tabela que contém o campo que armazena estes dados tem a designação tblCustomer, a cláusula FROM teria um aspeto semelhante ao seguinte:

FROM tblCustomer

Pode colocar o nome entre parênteses retos. Se o nome não tiver espaços ou carateres especiais (como sinais de pontuação), os parênteses retos são opcionais. Se o nome tiver espaços ou carateres especiais, tem de utilizar os parênteses retos.

Sugestão: Um nome com espaços é mais fácil de ler e pode poupar-lhe tempo quando estiver a estruturar formulários e relatórios, mas poderá fazer com que tenha de escrever mais ao escrever instruções SQL. Deve ter este facto em consideração ao atribuir nomes a objetos na sua base de dados do Access.

Utilizar nomes de substituição para origens de dados

Pode utilizar um nome diferente para fazer referência a uma tabela na instrução SELECT ao utilizar um alias de tabela na sua cláusula FROM. Um alias de tabela é um nome atribuído a uma origem de dados numa consulta ao utilizar uma expressão como a origem de dados ou para facilitar a escrita e a leitura da instrução SQL. Isto pode ser especialmente útil se o nome da origem de dados for longo ou difícil de escrever, sobretudo se existirem múltiplos campos com o mesmo nome em tabelas diferentes.

Por exemplo, se quiser selecionar dados de dois campos, ambos com o nome ID, um dos quais vem da tabela tblCustomer e o outro da tabela tblOrder, a sua cláusula SELECT poderá ter um aspeto semelhante ao seguinte:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Ao utilizar aliases de tabela na sua cláusula FROM, poderá facilitar a escrita da consulta. A cláusula FROM, com aliases de tabela, poderá ter um aspeto semelhante ao seguinte:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Em seguida, poderá utilizar estes aliases de tabela na sua cláusula SELECT da seguinte forma:

SELECT [C].[ID], [O].[ID]

Nota: Ao utilizar um alias de tabela, pode fazer referência à tabela na sua instrução SQL com o alias ou o nome completo da tabela.

Associar dados relacionados

Se precisar de uma forma de combinar pares de registos de duas origens de dados num único registo num resultado de consulta, pode efetuar uma associação. Uma associação é uma operação SQL que especifica a forma como duas origens de dados estão relacionadas e se os dados de uma origem devem ser incluídos, caso não existam dados correspondentes da outra origem.

Para combinar as informações de duas origens de dados, pode efetuar uma operação de associação no campo que ambas têm em comum. Quando os valores armazenados nesse campo forem correspondentes, os dados dos registos são combinados nos resultados.

Além de combinar dados, também pode utilizar uma associação para especificar se quer ou não incluir os registos de uma das tabelas caso não existam registos correspondentes na tabela relacionada.

Por exemplo, suponhamos que pretende utilizar dados de duas tabelas numa consulta: tblCustomer e tblOrder. Ambas as tabelas têm o campo CustomerID que identifica um cliente. Cada registo na tabela tblCustomer poderá ter um ou mais registos correspondentes na tabela tblOrder e os valores correspondentes podem ser determinados por valores no campo CustomerID.

Se quiser associar as tabelas para que a consulta combine os registos das mesmas ao excluir os registos de cada uma delas caso não existam registos correspondentes na outra, a cláusula FROM poderá ter um aspeto semelhante ao seguinte (neste caso, a quebra de linha foi adicionada para melhorar a legibilidade):

FROM [tblCustomer] INNER JOIN [tblOrder] ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

No Access, as associações ocorrem na cláusula FROM de uma instrução SELECT. Existem dois tipos de associações: internas e externas. As secções seguintes explicam estes dois tipos de associações.

Associações internas

As associações internas são o tipo de associação mais comum. Ao executar uma consulta com uma associação interna, os únicos registos incluídos nos resultados da consulta são os que têm um valor comum a ambas as tabelas associadas.

Uma associação interna tem a seguinte sintaxe (neste caso, a quebra de linha foi adicionada para melhorar a legibilidade):

FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

A tabela seguinte descreve as diferentes partes de uma operação INNER JOIN.

Parte

Descrição

tabela1, tabela2

Os nomes das tabelas das quais os registos são combinados.

campo1, campo2

Os nomes dos campos que estão associados. Se não forem numéricos, os campos têm de ter o mesmo tipo de dados mas não necessitam de ter o mesmo nome.

opcomp

Qualquer operador de comparação relacional: "=", "<", ">", "<=", ">=" ou "<>".

Associações externas

As associações externas são semelhantes às associações internas, uma vez que indicam a uma consulta como combinar informações de duas origens. No entanto, são diferentes porque também pode especificar se quer incluir dados nos casos em que não exista um valor comum. As associações externas são direcionais, ou seja, pode especificar se quer incluir todos os registos da primeira origem de dados especificada numa associação (designada associação à esquerda) ou incluir todos os registos da segunda origem de dados numa associação (designada associação à direita).

Uma associação externa tem a seguinte sintaxe:

FROM tabela1 [ LEFT | RIGHT ] JOIN tabela2ON tabela1.campo1opcomp tabela2.campo2

A tabela seguinte descreve as diferentes partes das operações LEFT JOIN e RIGHT JOIN.

Parte

Descrição

tabela1, tabela2

Os nomes das tabelas das quais os registos são combinados.

campo1, campo2

Os nomes dos campos que são associados. Os campos têm de ter o mesmo tipo de dados, mas não necessitam de ter o mesmo nome.

opcomp

Qualquer operador de comparação relacional: "=", "<", ">", "<=", ">=" ou "<>".

Para obter mais informações sobre associações, consulte o artigo Associar tabelas e consultas.

Início da Página

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.