Questão de Banco de Dados — SQL — FUNDATEC 2026
- Código
- qg685943
- Banca
- FUNDATEC
- Órgão
- IFC-SC
- Ano
- 2026
- Nível
- Superior
- Cargo
- Professor EBTT - Informática: Engenharia de Software e Banco de Dados
O domínio da linguagem SQL exige do analista a compreensão da correta ordem de execução lógica e restrição de cláusulas de agregação. Considere o seguinte modelo de dados relacional de uma instituição acadêmica (chaves primárias sublinhadas):
Pesquisador (ID_Pesq, Nome)
Projeto (ID_Proj, Titulo)
Atuacao (ID_Pesq, ID_Proj, Horas_Semanais)
Um analista precisa escrever uma consulta SQL que retorne o nome dos pesquisadores e a quantidade de projetos em que atuam, considerando apenas as atuações com mais de 10 horas semanais. Além disso, o relatório final deve exibir apenas os pesquisadores que possuam participação em mais de 2 projetos (já obedecendo ao critério mínimo de horas). O resultado deve ser ordenado pela quantidade de projetos em ordem decrescente.
Assinale a alternativa que apresenta o comando SQL sintática e logicamente correto para satisfazer todos os requisitos dessa regra de negócio.
- ASELECT P.Nome, COUNT(A.ID_Proj)FROM Pesquisador PINNER JOIN Atuacao A ON P.ID_Pesq = A.ID_PesqWHERE COUNT(A.ID_Proj) > 2GROUP BY P.ID_Pesq, P.NomeHAVING A.Horas_Semanais > 10ORDER BY COUNT(A.ID_Proj) DESC;
- BSELECT P.Nome, COUNT(A.ID_Proj)FROM Pesquisador PINNER JOIN Atuacao A ON P.ID_Pesq = A.ID_PesqWHERE A.Horas_Semanais > 10GROUP BY P.ID_Pesq, P.NomeHAVING COUNT(A.ID_Proj) > 2ORDER BY COUNT(A.ID_Proj) DESC;
- CSELECT P.Nome, COUNT(A.ID_Proj)FROM Pesquisador PINNER JOIN Atuacao A ON P.ID_Pesq = A.ID_PesqWHERE A.Horas_Semanais > 10 OR COUNT(A.ID_Proj) > 2GROUP BY P.ID_Pesq, P.NomeORDER BY COUNT(A.ID_Proj) ASC;
- DSELECT P.Nome, COUNT(A.ID_Proj)FROM Pesquisador PINNER JOIN Atuacao A ON P.ID_Pesq = A.ID_PesqGROUP BY P.ID_Pesq, P.NomeHAVING A.Horas_Semanais > 10 AND COUNT(A.ID_Proj) > 2ORDER BY COUNT(A.ID_Proj) DESC;
- ESELECT P.Nome, COUNT(A.ID_Proj)FROM Pesquisador PINNER JOIN Atuacao A ON P.ID_Pesq = A.ID_PesqWHERE A.Horas_Semanais > 10 AND COUNT(A.ID_Proj) > 2GROUP BY P.ID_Pesq, P.NomeORDER BY P.Nome DESC;