Para obter todas as linhas da tabela B, o comando SELECT dev...
na realidade, full outer join tb satisfaz o requesito da questao, porque nao diz obter SOMENTE todas as linhas da tabela B
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.