Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Предложение ORDER BYв SQL указывает, что оператор SQL SELECTвозвращает набор результатов, в котором строки сортируются по значениям одного или нескольких столбцов. Критерии сортировки не обязательно должны быть включены в набор результатов. Критерии сортировки могут быть выражениями, включая имена столбцов, пользовательские функции , арифметические операции или CASEвыражения. Выражения оцениваются, и результаты используются для сортировки, т. Е. Значения, хранящиеся в столбце, или результаты вызова функции.

ORDER BY- единственный способ отсортировать строки в наборе результатов. Без этого предложения система реляционной базы данных может возвращать строки в любом порядке. Если требуется заказ, это ORDER BYдолжно быть указано в SELECTзаявлении, отправленном приложением. Хотя некоторые системы баз данных позволяют задавать в ORDER BYпункте в подзапросы или просмотреть определения, наличие не имеет никакого эффекта. Представление - это логическая реляционная таблица, а реляционная модель требует, чтобы таблица была набором строк, что не подразумевает никакого порядка сортировки. Единственным исключением являются конструкции вроде ORDER BY ORDER OF ...(не стандартизированные в SQL: 2003 ), которые позволяют распространять критерии сортировки через вложенные подзапросы.

Основные функции стандарта SQL не определяют явно порядок сортировки по умолчанию для значений NULL . С расширением SQL: 2003 T611, «Элементарные операции OLAP», пустые значения могут быть отсортированы до или после всех значений данных с помощью пунктов NULLS FIRSTили списка соответственно. Однако не все производители СУБД реализуют эту функцию. Поставщики, которые не реализуют эту функцию, могут указать различные методы сортировки Null в СУБД. [1]NULLS LASTORDER BY

Структура ORDER BY ... DESCбудет упорядочена по убыванию, в противном случае используется возрастающий порядок. (Последнее можно указать явно с помощью ASC.)

Примеры [ править ]

ВЫБРАТЬ  *  ИЗ  сотрудников  ЗАКАЗАТЬ  ПО  Фамилии ,  Имени

Это сортируется по полю LastName, а затем по полю FirstName, если LastName совпадает.

Ссылки [ править ]