Questão de Banco de Dados — Banco de Dados Relacionais — FUNTEF - PR 2025
Banco de Dados›Banco de Dados Relacionais
Código
qg488169
Banca
FUNTEF - PR
Órgão
UTFPR
Ano
2025
Nível
Médio
Cargo
Técnico de Laboratório/Informática
Considere que você possui um banco de dados com a tabela “Usuarios” que contém as colunas “Nome”, “Email” e “Salário”. Analisando a seguinte consulta SQL:SELECT Nome FROM Usuarios WHERE Salário = (SELECT MAX(Salário) FROM Usuarios);Qual o resultado esperado desta consulta?
ARetorna o nome do usuário com o menor salário presente na tabela.
BRetorna os nomes de todos os usuários, independentemente do valor do salário.
CRetorna o salário máximo e o nome do usuário em uma única coluna.
DA consulta é inválida, pois subconsultas não podem ser usadas no WHERE.
ERetorna o nome do usuário , cujo salário é igual ao maior salário registrado na tabela.
Revelar gabarito e comentário▾
GabaritoE — Retorna o nome do usuário , cujo salário é igual ao maior salário registrado na tabela.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Subconsulta SQL com MAX
A questão testa o entendimento de subconsultas escalares no SQL, especificamente o uso da função agregada MAX() dentro de uma subconsulta na cláusula WHERE. A consulta retorna o nome do(s) usuário(s) cujo salário é igual ao maior salário da tabela.
Alternativa A — ❌ Incorreta
Afirma que retorna o nome do usuário com o menor salário. A subconsulta usa MAX(Salário), que retorna o maior valor, não o menor. O correto para o menor salário seria MIN(Salário).
Alternativa B — ❌ Incorreta
Afirma que retorna os nomes de todos os usuários. A cláusula WHERE filtra apenas os registros cujo salário é igual ao máximo, portanto apenas os usuários com o maior salário são retornados.
Alternativa C — ❌ Incorreta
Afirma que retorna o salário máximo e o nome em uma única coluna. A consulta seleciona apenas a coluna Nome (SELECT Nome), e a subconsulta retorna um único valor (o salário máximo) que é usado na comparação, mas não é exibido no resultado final.
Alternativa D — ❌ Incorreta
Afirma que a consulta é inválida porque subconsultas não podem ser usadas no WHERE. Isso é falso: subconsultas escalares (que retornam um único valor) são perfeitamente válidas na cláusula WHERE em SQL padrão.
Alternativa E — ✅ Correta
A consulta retorna o nome do(s) usuário(s) cujo salário é igual ao maior salário registrado na tabela. A subconsulta (SELECT MAX(Salário) FROM Usuarios) calcula o maior salário, e a condição WHERE Salário = ... filtra os registros que atendem a esse valor. O SELECT Nome projeta apenas a coluna Nome.
PEGA ESSA DICA!
Lembre-se de que MAX() e MIN() são funções agregadas que retornam um único valor. Subconsultas escalares podem ser usadas em qualquer lugar onde uma expressão de valor único é esperada, como no WHERE, HAVING ou mesmo no SELECT.