← Questões de Banco de Dados

Banco de Dados · CESGRANRIO · 2023

Questão comentada de Banco de Dados

Uma empresa de investimentos financeiros busca identificar novas oportunidades de negócio para pessoas jurídicas, em especial dentre aquelas que têm como característica a adoção de governança ambiental, social e corporativa (conhecida como ESG, uma sigla em inglês). Considere que existe um banco de dados nessa empresa com as seguintes tabelas (todas as chaves primárias são numéricas): Empresa (CNPJ, razaoSocial, endereco) Caracteristica (cod, sigla, nome) Tem (CNPJ, cod) Que comando SELECT do SQL retorna apenas o CNPJ e a razão social das empresas que não têm "ESG" como característica?

Gabarito: D

A ideia aqui é filtrar empresas que nao estejam associadas a uma caracteristica específica, no caso ESG. Em SQL, quando voce quer trazer registros “sem relacao” com algo, costuma usar uma subconsulta com NOT IN, NOT EXISTS ou uma operacao equivalente. O ponto central é: primeiro voce identifica quais CNPJs aparecem ligados a ESG, e depois exclui esses CNPJs do resultado final. No enunciado, a tabela Tem faz a ligacao entre Empresa e Caracteristica. Então nao basta olhar só a empresa ou só a sigla isoladamente: é preciso juntar Tem com Caracteristica para descobrir quais registros de Tem correspondem à sigla ESG. A partir daí, a consulta externa pega apenas CNPJ e razaoSocial da tabela Empresa e remove os que estao na lista da subconsulta. Por isso, a alternativa D está correta. Ela faz exatamente isso: a subconsulta retorna os CNPJs das empresas que possuem a caracteristica ESG, e o SELECT externo usa NOT IN para excluir esses CNPJs. Resultado: aparecem apenas as empresas que nao têm ESG como caracteristica. Um cuidado classico de prova é nao confundir nome, sigla e cod, nem tentar comparar colunas de tabelas diferentes sem o JOIN adequado. Em SQL, a logica manda mais que a pressa: primeiro descubra quem está na lista proibida, depois tire do resultado. Aqui, a banca quer justamente essa leitura de conjunto.

Continue treinando

Questões relacionadas