Resumo: neste tutorial, você aprenderá como usar o RIGHT OUTER JOIN no Oracle para juntar duas ou mais tabelas.

Visualização do JOGO À DIREITA no Oracle

Suponha que tenhamos duas tabelas T1 e T2, a seguinte instrução mostra como unir essas duas tabelas usando a cláusula RIGHT OUTER JOIN no Oracle:

Nesta instrução, T1 e T2 são as tabelas à esquerda e à direita respectivamente.

A palavra-chave OUTER é opcional, portanto as RIGHT OUTER JOIN e RIGHT JOIN são as mesmas.

Aqui está como a RIGHT OUTER JOIN funciona.

Cada linha da tabela T1 é comparada com linhas da tabela T2tabela:

  • Se um par de linhas satisfaz o predicado de junção, os valores da coluna de ambas as linhas são combinados para fazer uma linha de resultado que é então incluída no conjunto de resultados.
  • No caso de uma linha da tabela T2 não corresponder a nenhuma linha da tabela T1, os valores das colunas da linha da tabela T2 são combinados com um valor NULL para cada coluna da linha da tabela T1 para fazer a linha de resultado que também é incluída no set de resultados.

Em outras palavras, uma junção externa direita retorna todas as linhas da tabela da direita e também as linhas correspondentes da tabela da esquerda.

Exemplos de junção de RUBRAS DIREITAS

Usaremos as tabelas orders e employees na base de dados de amostras para a demonstração:

Neste diagrama, um vendedor está encarregado de uma ou mais ordens de venda. Entretanto, algumas ordens de venda podem não estar a cargo de nenhum vendedor.

O exemplo seguinte recupera todos os vendedores e suas ordens de venda se houver:

O resultado inclui todos os empregados cujo cargo é Sales Representative e suas ordens.

Se um vendedor não estiver encarregado de nenhuma ordem de venda como Alice Wells, Charlotte Webb, as colunas order_id e status são preenchidas com valores NULL.

Oracle RIGHT OUTER JOIN with USING clause

Similiar a outras junções como INNER JOIN, LEFT JOIN, você pode usar a cláusula USING para especificar qual coluna testar para igualdade ao juntar tabelas.

O seguinte ilustra a sintaxe do RIGHT OUTER JOIN com a cláusula USING:

Nesta consulta, as colunas listadas na cláusula USING devem ser apresentadas em ambas as tabelas T1 e T2.

A seguinte declaração é equivalente à acima:

A seguinte declaração demonstra como usar o RIGHT OUTER JOIN com a cláusula USING:

Neste exemplo, todos os clientes são incluídos no conjunto de resultados. Se um cliente não tem uma ordem de venda, as colunas order_id e status são preenchidas com valores NULL.

Oracle RIGHT JOIN: condição em ON vs. WHERE clause

A seguinte declaração obtém os dados do empregado e da ordem do vendedor id 57.

A seguinte declaração coloca a condição na cláusula WHERE em vez da cláusula ON cláusula:

A seguinte declaração coloca a condição na cláusula WHERE em vez da cláusula ON cláusula:

A seguinte declaração coloca a condição na cláusula WHERE em vez da cláusula ON cláusula:

A seguinte declaração coloca a condição na cláusula

Notem que em relação ao INNER JOIN, a condição é colocada na cláusula ON tem o mesmo efeito que é colocado na cláusula WHERE.

Neste tutorial, você aprendeu como usar o RIGHT OUTER JOIN no Oracle para consultar dados de várias tabelas.

  • Este tutorial foi útil?
  • Sim Não

admin

Deixe uma resposta

O seu endereço de email não será publicado.

lg