Questão FC369462
João está escrevendo uma consulta que envolve várias tabelas e precisa garantir que todas as suas linhas sejam incluídas no resultado, mesmo que não haja correspondências entre ela
Linguagem SQL
FGV · 2024
João está escrevendo uma consulta que envolve várias tabelas e precisa garantir que todas as suas linhas sejam incluídas no resultado, mesmo que não haja correspondências entre elas.
Para tanto, João deverá utilizar o seguinte operador de junção:
- LEFT JOIN;
- INNER JOIN;
- RIGHT JOIN;
- CROSS JOIN;
- FULL OUTER JOIN.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
O operador FULL OUTER JOIN retorna todas as linhas de ambas as tabelas envolvidas, combinando-as quando há correspondência e preservando as que não se relacionam entre si.
Quando uma linha de uma tabela não encontra par na outra, os campos correspondentes aparecem como NULL, permitindo visualizar simultaneamente registros exclusivos de cada lado e os emparelhados.
É indicado quando se deseja uma visão completa dos dois conjuntos de dados — por exemplo, listar todos os clientes e todos os pedidos, mesmo que alguns clientes não tenham pedidos e alguns pedidos não estejam vinculados a clientes.
Exemplo sintético: SELECT * FROM A FULL OUTER JOIN B ON A.id = B.a_id;
O resultado é a união das linhas de A e B, com NULLs onde não houver correspondência.
Conteúdo do catálogo FC Concursos · Atualizado em