Order by
Вираз ORDER BY
в SQL визначає порядок сортування результатного набору, отриманого в результаті інструкції SELECT
, рядки (кортежі) можуть бути відсортовані за значеннями одної або декількох колонок (атрибутів). Критеріями сортування можуть бути назви колонок, функції визначені користувачем, арифметичні операції або CASE
вирази. Вирази обчислюються і результати використовуються для сортування.
ORDER BY
єдиний шлях для сортування рядків в результатному наборі. Без цього виразу Реляційна СКБД може повернути рядки в довільному порядку. Якщо впорядкування необхідне, ORDER BY
має бути присутнім в інструкції SELECT
. Хоча деякі СКБД дозволяють використання ORDER BY
виразу в підзапитах або представленнях, їхня присутність там не має ефекту. Представлення це логічна реляційна таблиця, і реляційна модель визначає таблицю як набір рядків і не припускає будь-яке сортування.
SQL стандарт не визначає явно порядок сортування для Null. В розширенні SQL:2003 T611, "Елементарні OLAP операції", Null можуть бути відсортовані перед або після всіх інших значень використовуючи, відповідно, NULLS FIRST
або NULLS LAST
вирази в списку ORDER BY
. Не всі СКБД реалізують цю функціональність. Виробники СКБД, що не підтримують такий спосіб сортування Null, можуть визначити інші домовленості для сортування Null.[1]
Вираз ORDER BY ... DESC
впорядкує в спадному порядку, в іншому випадку ( ASC
) використовується висхідний порядок.
Приклади
SELECT * FROM Employees
ORDER BY LastName, FirstName
Цей приклад відсортує за LastName, тоді за FirstName якщо LastName однакове.
Примітки
- NULL Handling in SQLite Versus Other Database Engines. Архів оригіналу за 7 липня 2013. Процитовано January 25 2009.