Para obter todas as linhas da tabela B, o comando SELECT dev...

Próximas questões
Com base no mesmo assunto
Q13900 Banco de Dados
Para obter todas as linhas da tabela B, o comando SELECT deverá utilizar na sequência um JOIN entre as tabelas A e B do tipo
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: Letra D - RIGHT OUTER JOIN.

Vamos entender o contexto da questão: ela nos pede para identificar o tipo de JOIN em SQL que garantirá que todas as linhas da tabela B sejam retornadas, independente de haver correspondência na tabela A. Saber os diferentes tipos de JOIN é essencial para trabalhar com consultas que envolvem múltiplas tabelas em bancos de dados relacionais.

O RIGHT OUTER JOIN (também chamado de RIGHT JOIN) é utilizado quando você quer retornar todas as linhas da tabela que está à direita (neste caso, a tabela B), e as linhas correspondentes da tabela que está à esquerda (neste caso, a tabela A). Quando não há correspondência, o resultado para a tabela da esquerda terá NULL nos campos associados.

CROSS JOIN gera um produto cartesiano entre as tabelas, o que significa que retorna todas as combinações possíveis de linhas entre as duas tabelas - não é o que queremos aqui.

INNER JOIN retorna apenas as linhas que têm correspondência em ambas as tabelas. Se houver linhas em B que não correspondem a nenhuma linha em A, essas linhas não serão incluídas no resultado.

FULL OUTER JOIN retorna todas as linhas de ambas as tabelas. Qualquer linha de uma tabela que não tenha correspondentes na outra tabela é complementada com NULL. Isso incluirá todas as linhas de B, mas também aquelas de A que não têm correspondentes em B, o que não é requisito da questão.

Por fim, o LEFT OUTER JOIN, semelhante ao RIGHT JOIN, mas nesse caso, todas as linhas da tabela da esquerda (A) seriam retornadas, e não da tabela B como queremos.

Por isso, a alternativa correta é a Letra D - RIGHT OUTER JOIN, pois ela cumpre exatamente a necessidade de retornar todas as linhas da tabela B, independente de suas correspondências na tabela A.

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

Junção Externa é uma seleção que não requer que os registros de uma tabela possuam registros equivalentes em outras.Left Outer Join: todos os registros da tabela esquerda mesmo quando não exista registros correspondentes na tabela direita. Right Outer Join: todos os registros da tabela direita mesmo quando não exista registros correspondentes na tabela esquerda.Full Outer Join: Esta operação apresenta todos os dados das tabelas à esquerda e à direita, mesmo que não possuam correspondência em outra tabela.
Esta questão é passível de anulação, pois não cita a ordem em que as tabelas serão invocadas no comando SQL select. Isso dá duas respostas possíveis.Pois se a tabela B vier primeiro (SELECT * FROM B LEFT OUTER JOIN A ...) a resposta correta será (E). Se o A vier primeiro (SELECT * FROM A RIGHT OUTER JOIN B ...) o comando terá de ser este para que todas as linhas de B venham independente de haver ligação com A. Com isso a resposta certa passaria ser a letra (D).
Passível de anulação mesmo, pois além do RIGHT, a opção (C) FULL OUTER JOIN, também retornaria todas as llinhas da tabela B.

na realidade, full outer join tb satisfaz o requesito da questao, porque nao diz obter SOMENTE todas as linhas da tabela B

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo