Alternativa D - RIGHT OUTER JOIN
Análise da Questão
A questão aborda o uso de cláusulas de junção (JOIN) em linguagens de banco de dados, especificamente SQL. O objetivo é identificar qual tipo de junção garante a exibição de todos os registros de uma das tabelas envolvidas.
Conceitos Fundamentais
Para resolver esta questão, é necessário entender como cada tipo de JOIN trata os dados das tabelas participantes (neste caso, Tabela A e Tabela B):
- INNER JOIN: Retorna apenas as linhas que possuem correspondência em ambas as tabelas. Linhas sem par em uma das tabelas são descartadas.
- LEFT OUTER JOIN: Retorna todas as linhas da tabela da esquerda (primeira mencionada) e as correspondentes da direita. Se não houver correspondência, os campos da direita vêm como
NULL. - RIGHT OUTER JOIN: Retorna todas as linhas da tabela da direita (segunda mencionada) e as correspondentes da esquerda. Se não houver correspondência, os campos da esquerda vêm como
NULL. - FULL OUTER JOIN: Retorna todas as linhas quando há correspondência em qualquer das tabelas.
- CROSS JOIN: Realiza um produto cartesiano, criando todas as combinações possíveis entre as linhas das duas tabelas.
Raciocínio Lógico
- Ordem das Tabelas: A questão menciona "tabelas A e B". Na sintaxe padrão de SQL, assume-se que a ordem de menção corresponde à posição na cláusula
FROM ou JOIN. Logo, A seria a tabela da esquerda e B a tabela da direita. - Requisito: O enunciado exige "obter todas as linhas da tabela B".
- Seleção do Tipo:
- Para garantir que todas as linhas de uma tabela sejam mantidas mesmo sem correspondência na outra, precisamos de um Outer Join.
- Como queremos preservar a tabela B (que ocupa a posição da direita na sequência A e B), o comando correto é o RIGHT OUTER JOIN.
Resumo Comparativo
| Tipo de JOIN | Tabela Preservada (Sem Correspon.) |
|---|
| INNER JOIN | Nenhuma (apenas coincidências) |
| LEFT OUTER JOIN | Tabela Esquerda (A) |
| RIGHT OUTER JOIN | Tabela Direita (B) |
| FULL OUTER JOIN | Ambas (A e B) |
Portanto, para assegurar que todas as linhas da tabela B estejam presentes no resultado, independente de existirem dados correspondentes na tabela A, deve-se utilizar o RIGHT OUTER JOIN.
Alternativa D.