Última atualização em 26 de fevereiro de 2020 08:07:43 (UTC / GMT +8 horas)
O que é Full Outer Join no SQL?
Em SQL, o FULL OUTER JOIN combina os resultados das junções externas esquerda e direita e retorna todas as linhas (correspondentes ou não) das tabelas em ambos os lados da cláusula de junção.
Sintaxe:
SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;
Diagrama de sintaxe – FULL OUTER JOIN
Exemplo : SQL FULL OUTER JOIN
Vamos combinar as mesmas duas tabelas usando uma junção completa.
Código SQL:
Resultado:
Como esta é uma junção completa, todas as linhas (correspondentes e não correspondentes) de ambas as tabelas são incluídas na saída. Há apenas uma correspondência entre a tabela table_A e a tabela table_B, portanto, apenas uma linha de saída exibe valores em todas as colunas. Todas as linhas restantes de saída contêm apenas valores da tabela table_A ou tabela table_B, com as colunas restantes configuradas para valores ausentes
apenas uma linha de saída exibe valores em todas as colunas explicadas abaixo –
Apresentação pictórica: SQL FULL OUTER JOIN
Exemplo: SQL FULL OUTER JOIN entre duas tabelas
Aqui está um exemplo de junção externa completa em SQL entre duas tabelas.
Tabela de amostra: alimentos
Tabela de amostra: empresa
Como sabemos que FULL OUTER JOIN é a combinação dos resultados de LEFT OUTER JOIN e RIGHT OUTER JOIN, portanto, vamos descrever aqui como o FULL OUTER JOIN funciona internamente.
Apresentação pictórica:
Aqui está a instrução SQL que retorna todas as linhas da tabela “alimentos” e da tabela “empresa” usando a cláusula “FULL OUTER JOIN”.
Código SQL:
Resultado:
FULL OUTER JOIN usando a cláusula WHERE
Podemos incluir uma cláusula WHERE com um FULL OUTER JOIN para obter o retorno apenas dessas linhas onde não existem dados correspondentes entre as tabelas de junção.
A consulta a seguir retorna apenas aquelas empresas que não têm produto alimentício correspondente em alimentos, bem como aquele produto alimentício em alimentos que não correspondem à empresa listada.
Resultado:
a.ComID C_Name b.ComID I_Name---------- ------------------------- ---------- ---------------19 sip-n-Bite. Salt n Shake
FULL OUTER JOIN usando a cláusula UNION
Uma cláusula UNION pode ser usada como alternativa para obter o mesmo resultado que FULL OUTER JOIN
Aqui está o exemplo:
Aqui está a instrução SQL:
SELECT table_a.A,table_a.M,table_b.A,table_b.N FROM table_A FULL OUTER JOIN table_B ON table_A.a=table_b.A ORDER BY table_A.A;
FULL OUTER JOIN usando LEFT e RIGHT OUTER JOIN e cláusula UNION
O código a seguir é, a combinação de LEFT OUTER JOIN e RIGHT OUTER JOIN e combinado por, usando a cláusula UNION
Observação: as saídas da referida instrução SQL mostrada aqui são obtidas usando o Oracle Database 10g Express Edition .
Clique no seguinte para obter a apresentação de slides de todos os JOINS –
Aqui está um novo documento que é uma coleção de perguntas com respostas curtas e simples, úteis para aprender SQL, bem como para entrevistas.
Pratique exercícios de SQL
- exercícios de SQL, prática, solução
- SQL Retrieve data fr tabelas om
- SQL Booleanos e operadores relacionais
- SQL Wildcard e operadores especiais
- SQL Aggregate Functions
- SQL Formatting query output
- SQL Quering em várias tabelas
- FILTRAGEM e CLASSIFICAÇÃO no banco de dados de RH
- SQL JOINS
- SQL JOINS
- SQL JOINS no banco de dados de RH
- SQL SUBQUERIES
- SQL SUBQUERIES
- SQL SUBQUERIES no banco de dados de RH
- SQL Union
- SQL View
- SQL User Account Management
- Movie Database
- Consultas BÁSICAS no banco de dados de filmes
- SUBQUERIES no banco de dados de filmes
- JOINS no banco de dados de filmes
- Banco de dados de futebol
- Introdução
- Consultas BÁSICAS no banco de dados de futebol
- SUBQUERIES no banco de dados de futebol
- Consultas JOINS no banco de dados de futebol
- Banco de dados de hospitais
- Introdução
- BÁSICO, SUBQUERIES e JOINS
- Banco de dados de funcionários
- Consultas BÁSICAS no banco de dados de funcionários
- SUBQUERIES no banco de dados de funcionários
- Mais por vir!