Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Когато не е посочено „Поръчай по“, какъв ред избира заявката за вашия набор от записи?

Ако не посочите ORDER BY , тогава няма ПОРЪЧна дефиниран.

Резултатите могат да бъдат върнати в произволен ред - и това може да се промени с времето.

Няма "естествен ред" или нещо подобно в релационна база данни (поне във всичко, което знам). Единственият начин да получите надеждна поръчка е като изрично указване на ORDER BY клауза.

Актуализация: за тези, които все още не ми вярват - ето две отлични публикации в блога, които илюстрират тази точка (с примерни кодове!) :

  • Конър Кънингам (архитект на екипа на Core SQL Server Engine):Без предпазен колан – Очаква се поръчка без ORDER BY
  • Александър Кузнецов:Без ORDER BY няма ред на сортиране по подразбиране (публикация в уеб архива)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Познайте връзките между всички таблици на базата данни в SQL Server

  2. Примери за форматиране на „datetimeoffset“ в SQL Server с помощта на стандартни форматни низове (T-SQL)

  3. Как да настроите autocommit в сесия на SQL Server?

  4. ЗА XML PATH(''):Екраниране на специални символи

  5. Преименуване на потребителски дефиниран тип данни в SQL Server (T-SQL)