Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — Quadrix 2025

Banco de DadosSQL Server
Código
qg600022
Banca
Quadrix
Órgão
CRO-SP
Ano
2025
Nível
Superior
Cargo
Analista de Desenvolvimento de Sistemas de Informação
Uma clínica odontológica de médio porte decidiu modernizar o seu sistema de prontuário eletrônico e agendamento de consultas, visando melhorar a gestão de atendimentos, reduzir retrabalho e integrar as informações clínicas dos pacientes em uma base relacional centralizada. A equipe de TI contratada adotará uma metodologia ágil para o desenvolvimento do novo sistema, cujo banco de dados será compatível com MySQL, SQL Server e PostgreSQL.Com base nessa situação hipotética, julgue os itens seguintes.Em um ambiente com SQL Server, a instrução SELECT TOP 10 * FROM Consultas pode ser usada para listar as dez primeiras consultas da tabela, sem depender de uma cláusula de ordenação.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

SELECT TOP no SQL Server

Gabarito: CERTO. A instrução SELECT TOP 10 * FROM Consultas é válida no SQL Server e retorna as dez primeiras linhas da tabela, sem exigir uma cláusula ORDER BY — o TOP limita o número de linhas retornadas, e a ordenação, quando presente, apenas define quais linhas serão as "primeiras". A sintaxe TOP é uma extensão proprietária do SQL Server (T-SQL), não fazendo parte do padrão SQL/ANSI, que utiliza FETCH FIRST ou LIMIT em outros SGBDs.

O comando SELECT TOP é um dos recursos mais cobrados em provas sobre SQL Server, justamente por essa característica: ele não depende de ORDER BY para funcionar. A cláusula ORDER BY é opcional e serve para ordenar o resultado; sem ela, o SGBD retorna as linhas na ordem em que as encontra (geralmente a ordem física de armazenamento, mas isso não é garantido). Portanto, a afirmação do enunciado está correta: é possível listar as dez primeiras consultas sem ordenação explícita.

É importante distinguir o TOP do LIMIT (MySQL, PostgreSQL) e do FETCH FIRST (padrão SQL:2008, usado no PostgreSQL e no DB2). Enquanto LIMIT e FETCH FIRST também não exigem ORDER BY, o TOP é específico do SQL Server e do Access. A banca explora exatamente essa diferença: muitos candidatos confundem e acham que TOP exige ORDER BY, ou que é um comando padrão SQL.

Na prática, se a tabela Consultas tiver, por exemplo, 50 registros, SELECT TOP 10 * FROM Consultas retornará 10 linhas quaisquer — sem garantia de quais serão, a menos que se adicione ORDER BY. Isso é útil para limitar o volume de dados em consultas de teste ou para paginação, mas não substitui a ordenação quando a ordem importa.

A pegadinha clássica é inverter a relação: a banca pode afirmar que TOP exige ORDER BY, o que é falso. O ORDER BY apenas determina a prioridade das linhas; sem ele, o TOP ainda funciona, retornando linhas em ordem arbitrária. Guarde essa distinção: TOP limita, ORDER BY ordena — são cláusulas independentes.

  1. 1TOP limita linhas
  2. 2ORDER BY é opcional
  3. 3Sem ORDER BY: ordem arbitrária
  4. 4Com ORDER BY: define as primeiras
LEVEL · soulevel.com.br

Item — ✅ CERTO

A instrução SELECT TOP 10 * FROM Consultas é perfeitamente válida no SQL Server e retorna as dez primeiras linhas da tabela, sem depender de ORDER BY. O TOP é uma cláusula de limitação de linhas, e a ordenação é opcional. Se houver ORDER BY, o TOP retorna as dez primeiras linhas segundo essa ordem; sem ela, retorna dez linhas em ordem arbitrária. Portanto, a afirmação está correta.

SQL Server (T-SQL):

SELECT TOP 10 * FROM Consultas; — retorna as 10 primeiras linhas, sem exigir ORDER BY.

Gabarito: CERTO.

Link permanente: /questoes/qg600022