SQL do Access: Cláusula FROM

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

Utilizar nomes de substituição para origens de dados

Associar dados relacionados

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 tabela2
ON 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

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×