Operação INNER JOIN

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Combina registros de duas tabelas sempre que houver valores correspondentes em um campo comum.

Sintaxe

FROM table1 INNER JOIN table2 ON table1. field1compopr table2. field2

A operação INNER JOIN tem estas partes:

Parte Descrição
tabela1, tabela2 Os nomes das tabelas das quais os registros são combinados.
campo1, campo2 Os nomes dos campos que são unidos. Se não forem numéricos, os campos devem ser do mesmo tipo de dados e conter o mesmo tipo de dados, mas não precisarão ter o mesmo nome.
oprcomp Qualquer operador de comparação relacional: "=", "<", ">", "<=", ">=" ou "<>".

      

Comentários

Você pode usar uma operação de INNER JOIN na cláusula FROM. Esse é o tipo de junção mais comum. As junções internas combinam registros de duas tabelas sempre que houver valores correspondentes em um campo comum a ambas as tabelas.

Você pode usar INNER JOIN com as tabelas Departamentos e Funcionários 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 a eles) ou todos os funcionários (mesmo que alguns não sejam atribuídos a um departamento), você pode usar uma operação LEFT JOIN ou RIGHT JOIN para criar uma junção externa.

Se você tentar inserir campos com dados de Memorando ou Objeto OLE, ocorrerá um erro.

Você pode juntar quaisquer dois campos numéricos de tipos semelhantes. Por exemplo, você pode juntar os campos Numeração Automática e Longo porque eles são tipos semelhantes. No entanto, você não pode juntar os tipos de campos Único e Duplo.

O exemplo a seguir mostra como você pode unir as tabelas Categorias e Produtos no campo ID de Categoria:

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

No exemplo anterior, a ID de Categoria é o campo de junção, mas não é incluída na saída de consulta porque não ela está incluída na instrução SELECT. Para incluir o campo ingressado, inclua o nome do campo na instrução SELECT – nesse caso, Categories.CategoryID.

Você também pode vincular várias cláusulas ON em uma instrução de JOIN, usando a seguinte sintaxe:

Campos SELECT
Tabela FROM1 INNER JOIN2
NA tabela1. field1compoprtable2. field1 E
NA tabela1. field2compoprtable2. field2) OU
NA tabela1. field3compoprtable2. field3)];

Também é possível aninhar instruções JOIN usando a seguinte sintaxe:

Campos SELECT
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
NA tabela3. field3compoprtablex. fieldx)]
NA tabela2. field2compoprtable3. field3)
NA tabela1. field1compoprtable2. field2;

Uma LEFT JOIN ou RIGHT JOIN pode estar aninhada em uma INNER JOIN, mas INNER JOIN não pode estar aninhada dentro de uma LEFT JOIN ou RIGHT JOIN.