В этой секции осуществляется упорядочение получаемого множества строк, и она имеет такой общий вид:
ORDER BY название_столбца__или__синоним_названия_столбца
[COLLATE название]
[ {ASC | DESC} ]
[, и т.п.]
Следует учесть, что столбец, по которому происходит упорядочение результирующего множества строк, может быть выражением, но это выражение не должно давать константное значение в результате своего вычисления, а также не должно содержать функций агрегирования (например, avg, sum, min, max и т.п.). В перечне имен столбцов секции ORDER BY могут быть столбцы, которые отсутствуют в select_list, однако это возможно, если не используется опция DISTINCT, и если отсутствуют секции GROUP BY и UNION. Кроме того, если используется оператор UNION, то в перечне имен столбцов ORDER BY могут указываться только имена или псевдонимы столбцов из select_list 1-ой из объединяемых команд SELECT. Следует также отметить, что столбцы, используемые в перечне ORDER BY, не могут иметь типы данных text, ntext и image.
Опция COLLATE задает название (collation name) кодовой страницы и, соответственно, правил упорядочения символов и применима только для столбцов, имеющих типы данных char, nchar, varchar, nvarchar.
Опции ASC(по умолчанию) или DESC задают тип сортировки: по возрастанию или по убыванию.
Следует отметить, что значения NULL интерпретируются как минимально возможные. Количество имен или псевдонимов столбцов в перечне ORDER BY не ограничено, но существует ограничение на суммарную длину одной строки временной таблицы, используемой для сортировки. Оно составляет 8060 байт.