Um Analista de Sistemas está desenvolvendo relatórios para u...

Próximas questões
Com base no mesmo assunto
Q4036210 Banco de Dados

Um Analista de Sistemas está desenvolvendo relatórios para uma agência de fomento. Ele precisa listar os nomes dos funcionários que atendam a todas as seguintes condições:


• Atuam no departamento de Finanças;
• Recebem salário superior a R$ 5.000,00;
• Possuem dependentes do sexo feminino.

Considerando as tabelas Funcionarios, Departamentos e Dependentes, qual consulta SQL retorna CORRETAMENTE os resultados desejados?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E

Fundamento decisivo: A expressão “atendam a todas as seguintes condições” exigia a presença conjunta dos três filtros no SQL; por isso, a alternativa correta é a que reúne as junções necessárias e aplica AND para departamento, salário e sexo do dependente.

Tema central: Junções e filtros cumulativos
Análise das alternativas
A
Errada
Incorreta. Ela verifica apenas duas exigências: departamento Finanças e salário superior a 5000. Falta o vínculo com Dependentes e falta o filtro dep.Sexo = 'F', portanto omite uma condição obrigatória do enunciado.
B
Errada
Incorreta. Ela relaciona Funcionarios com Dependentes e filtra dep.Sexo = 'F', mas não verifica se o funcionário atua em Finanças nem se recebe salário acima de 5000. O erro é a omissão de duas condições obrigatórias.
C
Errada
Incorreta. Embora relacione as três tabelas e filtre departamento e salário, não traz o predicado dep.Sexo = 'F'. O problema não é a sintaxe com tabelas separadas por vírgula, e sim a falta do filtro correspondente à exigência de dependente do sexo feminino.
D
Errada
Incorreta. Ela faz as junções necessárias, mas usa OR entre as condições. Isso retorna funcionários que satisfaçam qualquer uma das exigências, quando o enunciado pede atendimento conjunto de todas elas.
E
Certa
A alternativa E está correta porque relaciona Funcionarios com Departamentos e Dependentes e aplica, no WHERE, d.Nome = 'Finanças', f.Salario > 5000 e dep.Sexo = 'F'.
Pegadinha da questão
A confusão real era trocar a exigência cumulativa de “todas as condições” por OR, ou aceitar uma consulta com tabelas corretas mas sem um dos predicados obrigatórios.
Dica para questões semelhantes
  • Quando o enunciado exigir “todas” as condições, confira se os filtros estão ligados por AND, não por OR.
  • Antes de escolher a consulta, liste quais tabelas são indispensáveis para testar cada exigência do enunciado.
  • Não basta a consulta citar as tabelas certas; ela precisa trazer explicitamente todos os predicados correspondentes às condições pedidas.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo