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

Combina os registos de duas tabelas sempre que existam valores correspondentes num campo comum.

Sintaxe

FROM table1 INNER JOIN table2 ON table1.tabeladepopr field12.campo2

A operação INNER JOIN tem 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 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 "<>".

Observações

Pode utilizar uma operação INNER JOIN em qualquer cláusula FROM. Este é o tipo de associação mais comum. As associações internas combinam os registos de duas tabelas sempre que existam valores correspondentes num campo comum a ambas as tabelas.

Pode utilizar uma operação INNER JOIN nas tabelas Departments e Employees para selecionar todos os funcionários em cada departamento. Por outro lado, para selecionar todos os departamentos (mesmo que alguns não tenham funcionários atribuídos aos mesmos) ou todos os funcionários (mesmo que alguns não estejam atribuídos a um departamento), pode utilizar uma operação de LEFT JOIN ou RIGHT JOIN para criar uma associação externa.

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

Pode associar dois campos numéricos de tipos semelhantes. Por exemplo, pode associar campos de Numeração Automática e campos Longos porque são tipos semelhantes. Porém, não pode associar os tipos de campos Simples e Duplo.

O exemplo seguinte mostra como pode associar as tabelas Categories e Products no campo CategoryID:

SELECT CategoryName, ProductNameFROM Categories INNER JOIN ProductsON Categories.CategoryID = Products.CategoryID;

No exemplo anterior, CategoryID é o campo associado, mas não é incluído no resultado da consulta porque não está incluído na instrução SELECT. Para incluir o campo associado, inclua o nome do campo na instrução SELECT – neste caso, Categories.CategoryID.

Também pode ligar várias cláusulas ON numa instrução JOIN, ao utilizar a seguinte sintaxe:

SELECT camposFROM tabela1 INNER JOIN tabela2ON tabela1.campo1opcomptabela2.campo1 ANDON tabela1.campo2opcomptabela2.campo2) ORON tabela1.campo3opcompcampo2.campo3)];

Também pode aninhar instruções JOIN ao utilizar a sintaxe seguinte:

SELECT camposFROM tabela1 INNER JOIN(tabela2 INNER JOIN [( ]tabela3[INNER JOIN [( ]tabelax [INNER JOIN ...)] ON tabela3.campo3opcomptabelax.campox)]ON tabela2.campo2opcomptabela3.campo3) ON tabela1.campo1opcomptabela2.campo2;

Uma instruçã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 instrução LEFT JOIN ou RIGHT JOIN.

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.