Статья Автор: Деникина Н.В., Деникин А.В.

Сортировка данных с помощью ORDER BY

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

Синтаксис

SELECT столбец1, столбец2, ... FROM имя_таблицы ORDER BY столбец1 [ASC|DESC], столбец2 [ASC|DESC], ...; 
  • столбец1, столбец2, ... — столбцы, по которым будет производиться сортировка.
  • ASC — сортировка по возрастанию (по умолчанию, если не указано другое).
  • DESC — сортировка по убыванию.

Если не указать тип сортировки (по умолчанию будет использоваться ASC), SQL отсортирует данные по возрастанию.

Примеры использования ORDER BY

1. Сортировка по одному столбцу (по возрастанию)

Если необходимо отсортировать данные по одному столбцу (например, по возрасту сотрудников), то можно написать запрос:

SELECT name, age FROM employees ORDER BY age; 

Этот запрос отсортирует сотрудников по возрасту в порядке возрастания. Результат будет выглядеть так (если данные соответствуют таблице, вставленной ранее):

name age
David 22
Jill 24
Ivan 26
Jordan 26
John 29
Joan 29
Jake 29
Alice 28
Grace 29
Jack 30
James 33
Bob 32
Jeff 38
Charlie 45
Frank 41
Hannah 26
Jessica 30
Jason 27
Julia 28
Eve 27

2. Сортировка по одному столбцу (по убыванию)

Для сортировки по убыванию можно использовать DESC:

SELECT name, age FROM employees ORDER BY age DESC; 

Этот запрос отсортирует сотрудников по возрасту в порядке убывания. Результат будет выглядеть так:

name age
Charlie 45
Frank 41
Jeff 38
Bob 32
James 33
Jack 30
Jessica 30
Alice 28
Julia 28
Grace 29
Jason 27
Eve 27
Jill 24
Ivan 26
Jordan 26
John 29
Joan 29
Jake 29
David 22

3. Сортировка по нескольким столбцам

Можно сортировать данные сразу по нескольким столбцам. Например, сначала по возрасту, а затем по имени:

SELECT name, age FROM employees ORDER BY age DESC, name ASC; 

Этот запрос сначала отсортирует сотрудников по возрасту в порядке убывания, а в случае одинакового возраста — по имени в алфавитном порядке (по возрастанию). Результат будет выглядеть так:

name age
Charlie 45
Frank 41
Jeff 38
Bob 32
James 33
Jack 30
Jessica 30
Grace 29
John 29
Joan 29
Jake 29
Alice 28
Julia 28
Jason 27
Eve 27
Jill 24
Ivan 26
Jordan 26
David 22

4. Сортировка с использованием других типов данных

Можно сортировать не только по числовым столбцам, но и по строкам или датам. Например, для сортировки по строковому значению по алфавиту:

SELECT name, department FROM employees ORDER BY department; 

Этот запрос отсортирует сотрудников по алфавиту в столбце department.

Примечания:

  1. Нулевые значения (NULL): В случае, если столбец содержит значения NULL, они обычно сортируются в конец при сортировке по возрастанию (для сортировки по убыванию — в начало). В зависимости от СУБД это может варьироваться.

  2. Оптимизация: Если вы работаете с большими таблицами, использование индексов на столбцах, по которым производится сортировка, может улучшить производительность запросов.

Заключение

Сортировка данных с помощью ORDER BY является важным инструментом для организации результатов SQL-запросов, особенно когда нужно представить данные в понятном виде или провести дальнейшую агрегацию и анализ.

Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать