Оператор SQL ORDER BY


Оператор SQL ORDER BY выполняет сортировку выходных значений. Оператор SQL ORDER BY можно применять как к числовым столбцам, так и к строковым. В последнем случае, сортировка будет происходить по алфавиту.

Оператор SQL ORDER BY имеет следующий синтаксис:

ORDER BY column_name [ASC | DESC]

Сортировка может производиться как по возрастанию, так и по убыванию значений.

  • Параметр ASC (по умолчанию) устанавливает порядок сортирования во возрастанию, от меньших значений к большим.
  • Параметр DECS устанавливает порядок сортирования по убыванию, от больших значений к меньшим.

Примеры оператора SQL ORDER BY. Имеется следующая таблица Artists:

Singer Album Year Sale
The Prodigy Invaders Must Die 2008 1200000
Drowning Pool Sinner 2001 400000
Massive Attack Mezzanine 1998 2300000
The Prodigy Fat of the Land 1997 600000
The Prodigy Music For The Jilted Generation 1994 1500000
Massive Attack 100th Window 2003 1200000
Drowning Pool Full Circle 2007 800000
Massive Attack Danny The Dog 2004 1900000
Drowning Pool Resilience 2013 500000

Пример 1. Вывести все записи таблицы, упорядоченные по названию исполнителя с помощью оператора SQL ORDER BY:

SELECT *
FROM Artists
ORDER BY Singer

Результат:

Singer Album Year Sale
Drowning Pool Sinner 2001 400000
Drowning Pool Full Circle 2007 800000
Drowning Pool Resilience 2013 500000
Massive Attack Mezzanine 1998 2300000
Massive Attack 100th Window 2003 1200000
Massive Attack Danny The Dog 2004 1900000
The Prodigy Invaders Must Die 2008 1200000
The Prodigy Fat of the Land 1997 600000
The Prodigy Music For The Jilted Generation 1994 1500000

Пример 2. С помощью оператора SQL ORDER BY вывести названия исполнителя, альбома, год выпуска тех альбомов, которые выпущены после 2005 года, упорядоченные по убыванию года:

SELECT Singer, Album, Year
FROM Artists
WHERE Year > 2005
ORDER BY Year DESC

Результат:

Singer Album Year
Drowning Pool Resilience 2013
The Prodigy Invaders Must Die 2008
Drowning Pool Full Circle 2007