Alternativa D - Uma junção cruzada
Análise da Questão
A questão descreve a necessidade de combinar todas as linhas de uma tabela com todas as linhas de outra tabela, sem especificar nenhum critério de correspondência (condição de junção).
Conceito-Chave: Produto Cartesiano
Em banco de dados, quando combinamos cada registro de uma tabela com cada registro de outra tabela indiscriminadamente, estamos realizando um Produto Cartesiano. No SQL, isso é feito através da CROSS JOIN (Junção Cruzada).
Se a tabela EMPLOYEES tiver 10 registros e a tabela EMP_REFERENCE tiver 5 registros, uma junção cruzada resultará em $10 \times 5 = 50$ linhas no resultado final.
Por que as outras alternativas estão incorretas?
| Tipo de Junção | Comportamento | Por que não se encaixa? |
|---|
| Junção Interna (INNER JOIN) | Retorna apenas linhas que possuem correspondência em ambas as tabelas. | Filtra dados; não mantém todas as linhas isoladas. |
| Equijunção | Tipo de junção interna que usa o operador de igualdade (=) para comparar colunas. | Também requer uma condição específica para filtrar pares. |
| Junção Externa Completa (FULL OUTER JOIN) | Retorna todas as linhas de ambas as tabelas, preenchendo com NULL onde não há correspondência. | Ainda depende de uma chave comum para tentar relacionar as linhas antes de manter as ausentes. |
| Junção Cruzada (CROSS JOIN) | Gera todas as combinações possíveis entre as tabelas. | Correta: Atende exatamente ao requisito de unir todas as linhas de A com todas as linhas de B. |
Conclusão
Para garantir que cada linha da tabela EMPLOYEES seja combinada com cada linha da tabela EMP_REFERENCE, a única operação válida é a junção cruzada.
Alternativa D.