Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Quando nenhum 'Ordenar por' é especificado, qual ordem uma consulta escolhe para seu conjunto de registros?


Se você não especificar um ORDER BY , então não há NENHUM PEDIDO definiram.

Os resultados podem ser retornados em uma ordem arbitrária - e isso também pode mudar com o tempo.

Não existe "ordem natural" ou algo parecido em um banco de dados relacional (pelo menos em tudo que eu conheço). A única maneira de obter um pedido confiável é explicitamente especificando um ORDER BY cláusula.

Atualização: para aqueles que ainda não acreditam em mim - aqui estão duas excelentes postagens de blog que ilustram esse ponto (com exemplos de código!):
  • Conor Cunningham (Arquiteto da equipe do Core SQL Server Engine):Sem cinto de segurança - Esperando pedido sem ORDER BY
  • Alexander Kuznetsov:Sem ORDER BY, não há ordem de classificação padrão (postagem no Arquivo da Web)