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 однакове.

Примітки

[ред. | ред. код]
  1. NULL Handling in SQLite Versus Other Database Engines. Архів оригіналу за 7 липня 2013. Процитовано January 25 2009.