Alternativa B - INTERSECT
A questão descreve a necessidade de encontrar dados que existem em ambos os resultados de duas consultas. Em teoria dos conjuntos, essa operação corresponde à Interseção.
Análise das Operações
Para entender porque a INTERSECT é a correta, vamos analisar o comportamento de cada opção apresentada:
- INTERSECT: Retorna apenas as linhas que são comuns a ambas as consultas. Se um registro aparece na primeira lista e na segunda, ele será mostrado. Se aparecer em apenas uma, será ignorado.
- Analogia: Imagine duas listas de convidados de festas diferentes. O
INTERSECT te daria apenas os nomes das pessoas que foram às duas festas. - UNION: Junta todos os registros de ambas as consultas, eliminando duplicatas. É a soma dos conjuntos.
- EXCEPT: Retorna os registros que estão na primeira consulta, mas não estão na segunda (diferença entre conjuntos).
- UNION ALL: Semelhante ao
UNION, mas mantém todas as duplicatas, incluindo as repetidas nas duas listas. - FULL JOIN: É uma junção de tabelas que retorna todas as linhas quando há correspondência em uma das tabelas, preenchendo com nulos onde não houver correspondência. Embora envolva duas tabelas, não é a definição estrita de operação de conjunto para filtrar valores comuns entre listas de resultados simples como descrito no enunciado.
Conclusão
A palavra-chave no enunciado é "valores comuns" e "aparecem simultaneamente". Isso elimina operações de união (que juntam tudo) ou diferença (que excluem itens). A única operação projetada especificamente para filtrar o ponto de encontro entre dois resultados é a INTERSECT.
Portanto, a alternativa correta é a B.