FC ConcursosFC Concursos

Questão FC670725

O Hospital Campo Grande está implementando um novo sistema de banco de dados para gerenciar informações sobre médicos, pacientes e atendimentos. O banco de dados apresenta as tabel

Linguagem SQL

QUADRIX · 2025

O Hospital Campo Grande está implementando um novo sistema de banco de dados para gerenciar informações sobre médicos, pacientes e atendimentos. O banco de dados apresenta as tabelas a seguir.

 

CREATE TABLE Medicos (        id_medico INT PRIMARY KEY,        nome VARCHAR(100),        especialidade VARCHAR(50),        salario DECIMAL(10,2) ); CREATE TABLE Pacientes (        id_paciente INT PRIMARY KEY,        nome VARCHAR(100),        data_nascimento DATE ); CREATE TABLE Atendimentos (        id_atendimento INT PRIMARY KEY,        id_medico INT,        id_paciente INT,       data_atendimento DATE,       descricao VARCHAR(100),       FOREIGN KEY (id_medico) REFERENCES Medicos(id_medico),       FOREIGN KEY (id_paciente) REFERENCES Pacientes(id_paciente) );

 

Com relação à situação hipotética apresentada e aos comandos SQL, julgue o item seguinte.

 

Para aumentar em 10% o salário de todos os médicos que realizaram mais de 20 atendimentos, o comando a ser utilizado é: UPDATE Medicos SET salario = salario x 1.10 WHERE id_medico IN (           SELECT id_medico FROM Atendimentos           GROUP BY id_medico           HAVING COUNT(id_atendimento) > 20 );

Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A afirmação foi julgada ERRADO porque contém um erro de sintaxe na expressão usada para multiplicar salários. Em SQL o operador de multiplicação é o caractere \* e não a letra x apresentada na sentença; o uso de x torna o comando inválido e provocará erro de execução.

O restante da lógica está correto: a subconsulta com GROUP BY e HAVING seleciona os médicos com mais de 20 atendimentos e a cláusula WHERE id_medico IN (...) filtra os registros a serem atualizados.

A correção é aplicar a multiplicação corretamente, por exemplo: \(salario = salario * 1.10\). Assim, o comando funcionará conforme esperado e aumentará 10% nos salários dos médicos que têm COUNT(id_atendimento) > 20.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo