Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2025
- Código
- qa699072
- Banca
- Quadrix
- Órgão
- CRO SP
- Ano
- 2025
- Cargo
- Ana ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: CERTO (letra C). A instrução SELECT TOP 10 * FROM Consultas é válida no SQL Server e retorna as dez primeiras linhas da tabela, sem exigir cláusula ORDER BY — o TOP é uma extensão proprietária do T-SQL que limita o número de linhas retornadas, e a ordem dessas linhas, sem ordenação explícita, é indeterminada (depende do plano de execução). A afirmação está correta porque o TOP não depende de ORDER BY para funcionar; a ordenação apenas tornaria o resultado previsível.
O comando SELECT TOP é uma das formas de limitar o número de registros retornados em uma consulta no SQL Server. Diferentemente do padrão SQL/ANSI, que usa FETCH FIRST (ou LIMIT no MySQL e PostgreSQL), o SQL Server adota a sintaxe proprietária TOP n logo após o SELECT. Essa cláusula é amplamente utilizada para consultas que precisam de um subconjunto dos dados, como listar os primeiros registros de uma tabela, sem a necessidade de ordená-los previamente.
A ausência de ORDER BY não invalida o comando; ela apenas significa que o SGBD escolherá a ordem de retorno com base em critérios internos, como a ordem física dos dados ou o plano de execução escolhido. Na prática, se o objetivo é obter as "dez primeiras consultas" em uma ordem específica (por exemplo, por data), seria necessário adicionar ORDER BY — mas a afirmação da questão não exige isso, apenas diz que o comando pode ser usado "sem depender de uma cláusula de ordenação", o que é verdadeiro.
A pegadinha aqui é sutil: muitos candidatos podem pensar que, sem ORDER BY, o comando seria inválido ou que o TOP exigiria ordenação. No entanto, o TOP é independente do ORDER BY. O ORDER BY apenas define a ordem lógica das linhas antes da limitação; sem ele, o TOP simplesmente retorna qualquer conjunto de linhas, respeitando o limite numérico. Essa distinção é essencial para responder corretamente.
A banca explora a confusão entre "limitar linhas" e "ordenar linhas". O candidato pode achar que SELECT TOP sem ORDER BY é inválido ou que a ordem seria garantida. Na verdade, o TOP funciona independentemente da ordenação — a ordem apenas fica indeterminada. Lembre-se: ORDER BY é opcional para o TOP; ele só torna o resultado previsível.
A afirmação está correta. No SQL Server, SELECT TOP 10 * FROM Consultas é uma instrução válida que retorna as dez primeiras linhas da tabela Consultas, sem exigir ORDER BY. O TOP é uma cláusula proprietária do T-SQL que limita o número de linhas retornadas, e a ordenação, quando presente, apenas define a ordem lógica antes da limitação. Sem ORDER BY, a ordem das linhas é indeterminada, mas o comando continua funcional. Portanto, a instrução pode ser usada para listar as dez primeiras consultas, independentemente de ordenação.
Gabarito: letra C (CERTO).
Link permanente: /questoes/qa699072