Pular para o conteúdo principal

Questão de Banco de Dados — DER - Diagrama de Entidade e Relacionamento — FIOCRUZ 2024

Banco de DadosDER - Diagrama de Entidade e Relacionamento
Código
qg147242
Banca
FIOCRUZ
Órgão
FIOCRUZ
Ano
2024
Nível
Superior
Cargo
Tecnologista em Saúde Pública - TE56 - Cientista de Dados em Saúde
Com base no diagrama ER apresentado na questão anterior, a consulta SQL que lista os nomes de todos os projetos que estão associados a menos de 4 pesquisadores e que têm um financiamento total maior que 20.000,00 é:
  1. ASELECT Proj.nomeFROM Projeto AS ProjJOIN Financiamento AS Fin ON Proj.projeto_id= Fin.projeto_idGROUP BY Proj.projeto_idHAVING COUNT(DISTINCT Fin.financiamento_id)> 20000.00AND COUNT(DISTINCT Pes.pesquisador_id) < 4;
  2. BSELECT Proj.nomeFROM Projeto AS ProjJOIN Financiamento AS Fin ON Proj.projeto_id= Fin.projeto_idWHERE SUM(Fin.valor) > 20000.00GROUP BY Proj.nomeHAVING COUNT(DISTINCT Fin.projeto_id) < 4;
  3. CSELECT Proj.nomeFROM Projeto AS ProjWHERE (SELECT COUNT(*)FROM Pesquisador AS PesWHERE Pes.projeto_id = Proj.projeto_id)< 4)AND (SELECT SUM(valor)FROM Financiamento AS FinWHERE Fin.projeto_id = Proj.projeto_id)> 20000.00);
  4. DSELECT Proj.nomeFROM Projeto AS ProjJOIN Pesquisador AS Pes ON Proj.projeto_id= Pes.projeto_idJOIN Financiamento AS Fin ON Proj.projeto_id= Fin.projeto_idGROUP BY Proj.nomeHAVING COUNT(DISTINCT Pes.pesquisador_id) <4 AND SUM(Fin.valor) > 20000.00;
  5. ESELECT Proj.nomeFROM Projeto AS ProjLEFT JOIN Pesquisador AS Pes ON Proj.projeto_id = Pes.projeto_idLEFT JOIN Financiamento AS Fin ON Proj.projeto_id = Fin.projeto_idGROUP BY Proj.nomeHAVING COUNT(Pes.pesquisador_id) < 4 ORSUM(Fin.valor) <= 20000.00;
Revelar gabarito e comentário

GabaritoA — SELECT Proj.nome FROM Projeto AS Proj JOIN Financiamento AS Fin ON Proj.projeto_id = Fin.projeto_id GROUP BY Proj.projeto_id HAVING COUNT(DISTINCT Fin.financiamento_id) > 20000.00 AND COUNT(DISTINCT Pes.pesquisador_id) < 4;

Link permanente: /questoes/qg147242