Questão FC670746
O Conselho Regional de Medicina Veterinária do Estado de Goiás (CRMV‑GO) mantinha um banco de dados relacional denominado CRMV_GO, que registrava veterinários, especialidades, clín
Linguagem SQL
QUADRIX · 2025
O Conselho Regional de Medicina Veterinária do Estado de Goiás (CRMV‑GO) mantinha um banco de dados relacional denominado CRMV_GO, que registrava veterinários, especialidades, clínicas e atendimentos. As principais tabelas estão dispostas a seguir.
VETERINARIO (id_vet, nome, crmv, data_inscricao, id_especialidade, ativo) ESPECIALIDADE (id_especialidade, descricao) CLINICA (id_clinica, nome_clinica, cidade) ATENDIMENTO (id_atendimento, id_vet, id_clinica, data_atendimento, status)
Com base nessa situação hipotética e no uso do comando SELECT no banco de dados CRMV_GO, julgue o item seguinte.
O comando a seguir apresenta o nome do veterinário, a sua especialidade e o número total de atendimentos concluídos, incluindo apenas veterinários com pelo menos cinco atendimentos concluídos.
SELECT v.nome, e.descricao, COUNT(a.id_atendimento) AS total FROM VETERINARIO v INNER JOIN ESPECIALIDADE e ON v.id_especialidade = e.id_especialidade INNER JOIN ATENDIMENTO a ON v.id_vet = a.id_vet WHERE a.status = 'Concluído' GROUP BY v.id_vet, v.nome, e.descricao HAVING COUNT(a.id_atendimento) >= 5;
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O comando está correto porque une adequadamente as tabelas via INNER JOIN, relacionando VETERINARIO com ESPECIALIDADE e ATENDIMENTO pelas chaves estrangeiras, garantindo que cada linha represente um atendimento válido do veterinário.
A cláusula WHERE com 'Concluído' filtra as linhas antes da agregação, ou seja, só são consideradas nos cálculos os atendimentos efetivamente concluídos.
Ao usar a função de agregação COUNT, o comando agrupa por todas as colunas não agregadas (GROUP BY v.id_vet, v.nome, e.descricao), respeitando a regra de que colunas selecionadas fora de funções de agregação devem constar no agrupamento.
Finalmente, o filtro de quantidade é aplicado com HAVING, que atua sobre resultados agregados. A condição \( \text{COUNT}(a.id\_atendimento) \ge 5 \) garante que apenas veterinários com pelo menos cinco atendimentos concluídos sejam retornados.
Conteúdo do catálogo FC Concursos · Atualizado em