Em um sistema, o engenheiro precisa consultar todos os CLIEN...
Assinale a opção que identifica o tipo de junção SQL que garante que todas as linhas da tabela da esquerda (CLIENTE) sejam incluídas no resultado, independentemente de haver correspondência na tabela da direita (PEDIDO).
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: D
Fundamento decisivo: A indicação de CLIENTE como tabela da esquerda e a exigência de listar também os clientes sem pedidos determinam a preservação das linhas da esquerda.
- Se o enunciado disser que todas as linhas da tabela da esquerda devem aparecer, pense em LEFT OUTER JOIN.
- Se a exigência incluir registros sem correspondência, elimine INNER JOIN.
- Diferencie preservar a esquerda de preservar ambos os lados: isso separa LEFT OUTER JOIN de FULL OUTER JOIN.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gabarito (D)
O Left Join, cujo funcionamento tem como resultado todos os registros que estão na tabela A (mesmo que não constam na tabela B) e os registros da tabela B que são comuns à tabela A.
Sintaxe
SELECT a.Nome, b.Nome
FROM TabelaA as A
LEFT JOIN TabelaB as B
on a.Nome = b.Nome
A) O Inner Join é o método de particular mais conhecido e que retorna os registros que são comuns às duas tabelas.
B) Usando o Right Join, conforme mostrado na Figura 6 , teremos como resultado todos os registros que estão na tabela B (mesmo que não constam na tabela A) e os registros da tabela A que são comuns à tabela B.
C) O Outer Join (também conhecido por Full Outer Join ou Full Join), tem como resultado todos os registros que estão na tabela A e todos os registros da tabela B.
D) Gabarito
E)O CROSS JOIN produz um conjunto de resultados que é o número de linhas na primeira tabela multiplicado pelo número de linhas na segunda tabela se nenhuma cláusula WHERE for usada junto com CROSS JOIN. Esse tipo de resultado é chamado de Produto Cartesiano.
Se a cláusula WHERE for usada com CROSS JOIN, ela funcionará como um INNER JOIN.
Fontes: https://www.devmedia.com.br/sql-join-entenda-como-funciona-o-retorno-dos-dados/31006
https://learnsql.com.br/blog/o-que-e-um-left-outer-join-no-sql-uma-explicacao-com-4-exemplos/
https://cursos.alura.com.br/forum/topico-exemplo-de-uso-cross-join-195444
- A ❌ INNER JOIN → só quem tem correspondência
- B ❌ RIGHT JOIN → prioriza tabela da direita
- C ❌ FULL OUTER JOIN → traz tudo de ambos os lados
- D ✅ LEFT OUTER JOIN → traz todos da esquerda
- E ❌ CROSS JOIN → combina tudo com tudo
Um LEFT OUTER JOIN (ou simplesmente LEFT JOIN) retorna todos os registros da tabela da esquerda, independentemente de haver correspondência na tabela da direita. Se não houver correspondência, ele preenche as colunas da tabela da direita com valores . [, , , ]
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo