Para responder à questão, considere um banco de dados PostgreSQL no qual um
analista de sistemas executou, com sucesso, os comandos SQL abaixo:
Após a execução de outro comando SQL, o analista obteve o seguinte resultado:Assinale a alternativa que apresenta o comando SQL que o analista executou.
Aselect id from logs where valor<200
Bselect id from logs where valor>=200
Cselect id from logs limit 2
Dselect id from logs order by valor limit 2
Eselect id from logs order by valor desc limit 2
Revelar gabarito e comentário▾
GabaritoE — select id from logs order by valor desc limit 2
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”.
Comando SQL: ORDER BY e LIMIT
Gabarito: letra E. O comando select id from logs order by valor desc limit 2 é o único que retorna os dois registros com os maiores valores da coluna valor, conforme o resultado apresentado na imagem. A cláusula ORDER BY valor DESC ordena os registros do maior para o menor valor, e LIMIT 2 restringe o resultado às duas primeiras linhas dessa ordenação. A questão exige que você identifique qual comando SQL produz exatamente o resultado mostrado na figura. A alternativa E é a única que combina ordenação decrescente com limitação de linhas, o que é a forma típica de obter os registros com os maiores valores de uma coluna. Vamos entender cada cláusula envolvida. O SELECT especifica as colunas a serem retornadas (no caso, apenas id). O WHERE filtra linhas com base em uma condição. O ORDER BY classifica o resultado em ordem crescente (ASC, padrão) ou decrescente (DESC). O LIMIT restringe o número de linhas retornadas. A combinação ORDER BY ... DESC LIMIT n é o padrão para obter os n maiores valores. A pegadinha da banca está em distinguir entre as alternativas que apenas filtram (WHERE), as que apenas limitam (LIMIT), e a que ordena e limita. A alternativa E é a única que faz a ordenação decrescente antes de limitar, o que é essencial para obter os maiores valores. As demais alternativas ou não ordenam, ou ordenam de forma crescente, ou não limitam corretamente.
NÃO CAIA NESSA!
A banca explora a confusão entre ORDER BY valor (crescente, padrão) e ORDER BY valor DESC (decrescente). A alternativa D ordena de forma crescente e limita a 2, retornando os menores valores, enquanto a E retorna os maiores. Fique atento ao DESC — ele inverte completamente o resultado.
1SELECT id
2FROM logs
3ORDER BY valor DESC
4LIMIT 2
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
select id from logs where valor<200 filtra os registros com valor menor que 200, mas não ordena e não limita o resultado. Se a imagem mostra apenas 2 registros, essa alternativa retornaria todos os que atendem à condição, o que não corresponde ao resultado apresentado.
Alternativa B — ❌ Incorreta
select id from logs where valor>=200 filtra os registros com valor maior ou igual a 200, mas também não ordena e não limita. O resultado seria todos os registros que atendem à condição, não apenas 2.
Alternativa C — ❌ Incorreta
select id from logs limit 2 retorna as 2 primeiras linhas da tabela na ordem em que foram armazenadas, sem qualquer ordenação. O resultado da imagem, se mostra os maiores valores, não seria obtido por esse comando, pois ele não garante a ordem.
Alternativa D — ❌ Incorreta
select id from logs order by valor limit 2 ordena os registros por valor em ordem crescente (padrão) e limita a 2. Isso retornaria os 2 menores valores, não os maiores. A ausência do DESC é o erro crucial.
Alternativa E — ✅ Correta ⟵ GABARITO
select id from logs order by valor desc limit 2 ordena os registros por valor em ordem decrescente (DESC) e limita o resultado a 2 linhas. Isso retorna exatamente os 2 registros com os maiores valores, que é o que a imagem do enunciado apresenta. A combinação ORDER BY ... DESC + LIMIT é o padrão para obter os maiores registros. Gabarito: letra E