Para obter todas as linhas da tabela B, o comando SELECT dev...
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
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