Operações LEFT JOIN, RIGHT JOIN

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

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

Sintaxe

FROM tabela1 [ LEFT | RIGHT ] JOIN tabela2
ON 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:

SELECIONE NomeDaCategoria, ProductName categorias LEFT JOIN produtos no 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.



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.

×