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

Combina registos da tabela de origem quando utilizado numa cláusula FROM.

Sintaxe

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

As operações LEFT JOIN e RIGHT JOIN têm as seguintes partes:

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 "<>".

Observações

Utilize uma operação LEFT JOIN para criar uma associação externa à esquerda. As associações externas à esquerda incluem todos os registos da primeira (esquerda) de duas tabelas, mesmo que não existam valores correspondentes para registos na segunda (direita) tabela.

Utilize uma operação RIGHT JOIN para criar uma associação externa à direita. As associações externas à direita incluem todos os registos da segunda (direita) de duas tabelas, mesmo que não existam valores correspondentes para registos na primeira (esquerda) tabela.

Por exemplo, pode utilizar uma operação LEFT JOIN com as tabelas Departamentos (esquerda) e Funcionários (direita) para selecionar todos os departamentos, incluindo os que não têm funcionários atribuídos. Para selecionar todos os funcionários, incluindo os que não estão atribuídos a um departamento, deve utilizar uma operação RIGHT JOIN.

O exemplo seguinte mostra como pode associar as tabelas Categorias e Produtos no campo CategoryID. A consulta cria uma lista de todas as categorias, incluindo as que não contêm produtos:

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

Neste exemplo, CategoryID é o campo associado, mas não é incluído nos resultados da consulta porque não está incluído na instrução SELECT. Para incluir o campo associado, introduza o nome do campo na instrução SELECT – neste caso, Categories.CategoryID.

Para criar uma consulta que inclui apenas registos nos quais os dados nos campos associados são iguais, utilize uma operação INNER JOIN.

  • Uma operação LEFT JOIN ou RIGHT JOIN pode ser aninhada dentro de uma INNER JOIN, mas uma INNER JOIN não pode ser aninhada dentro de uma operação LEFT JOIN ou RIGHT JOIN. Veja o debate no tópico sobre como aninhar na INNER JOIN para saber como aninhar associações dentro de outras associações.

  • Pode ligar múltiplas cláusulas ON. Veja o debate no tópico sobre como ligar cláusulas na INNER JOIN para saber como isto é feito.

Se tentar associar campos que contenham dados do tipo Memo ou Objeto OLE, será apresentado um erro.

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.