Оператор ORDER BY позволяет сортировать данные в результирующей таблице.
Этот оператор используется в запросе SELECT для определения порядка сортировки результирующего набора данных.

Синтаксис для сортировки данных в SQL такой:
SELECT column1,
column2,
...
FROM table_name
ORDER BY column1 [ASC|DESC],
column2 [ASC|DESC],
...;
column1, column2, ... - это имена столбцов, которые нужно отсортировать. Вы можете указать несколько столбцов для сортировки, разделяя их запятыми.
ASC — это ключевое слово, которое означает "по возрастанию" и является значением по умолчанию, если вы не укажете другое.
DESC — это ключевое слово, которое означает "по убыванию".
Таблица movies
| id | title | release_year | genre | rating |
|---|---|---|---|---|
| 1 | The Shawshank Redemption | 1994 | Drama | 9 |
| 2 | The Godfather | 1972 | Crime | 9 |
| 3 | The Godfather: Part II | 1974 | Crime | 9 |
| 4 | The Dark Knight | 2008 | Action | 9 |
| 5 | 12 Angry Men | 1957 | Drama | 8 |
| 6 | Schindlers List | 1993 | Biography | 8 |
| 7 | Pulp Fiction | 1994 | Crime | 8 |
| 8 | The Lord of the Rings: The Return of the King | 2003 | Adventure | 8 |
| 9 | Fight Club | 1999 | Drama | 8 |
| 10 | The Good, the Bad and the Ugly | 1966 | Western | 8 |
Например, если мы хотим отсортировать фильмы по году выпуска в порядке возрастания, мы можем использовать следующий запрос:
SELECT *
FROM movies
ORDER BY release_year ASC;
Результат
| id | title | release_year | genre | rating |
|---|---|---|---|---|
| 5 | 12 Angry Men | 1957 | Drama | 8 |
| 10 | The Good, the Bad and the Ugly | 1966 | Western | 8 |
| 2 | The Godfather | 1972 | Crime | 9 |
| 3 | The Godfather: Part II | 1974 | Crime | 9 |
| 6 | Schindlers List | 1993 | Biography | 8 |
| 1 | The Shawshank Redemption | 1994 | Drama | 9 |
| 7 | Pulp Fiction | 1994 | Crime | 8 |
| 9 | Fight Club | 1999 | Drama | 8 |
| 8 | The Lord of the Rings: The Return of the King | 2003 | Adventure | 8 |
| 4 | The Dark Knight | 2008 | Action | 9 |
Если мы хотим отсортировать фильмы по рейтингу в порядке убывания, мы можем использовать следующий запрос:
SELECT *
FROM movies
ORDER BY rating DESC;
Результат
| id | title | release_year | genre | rating |
|---|---|---|---|---|
| 1 | The Shawshank Redemption | 1994 | Drama | 9 |
| 2 | The Godfather | 1972 | Crime | 9 |
| 3 | The Godfather: Part II | 1974 | Crime | 9 |
| 4 | The Dark Knight | 2008 | Action | 9 |
| 5 | 12 Angry Men | 1957 | Drama | 8 |
| 6 | Schindlers List | 1993 | Biography | 8 |
| 7 | Pulp Fiction | 1994 | Crime | 8 |
| 8 | The Lord of the Rings: The Return of the King | 2003 | Adventure | 8 |
| 9 | Fight Club | 1999 | Drama | 8 |
| 10 | The Good, the Bad and the Ugly | 1966 | Western | 8 |
Если мы хотим отсортировать фильмы по жанру в алфавитном порядке и по году выпуска в порядке убывания, мы можем использовать следующий запрос:
SELECT *
FROM movies
ORDER BY genre ASC,
release_year DESC;
Здесь, сначала будут отсортированы фильмы по жанру в алфавитном порядке, затем внутри каждого жанра фильмы будут отсортированы по году выпуска в порядке убывания.
Результат
| id | title | release_year | genre | rating |
|---|---|---|---|---|
| 4 | The Dark Knight | 2008 | Action | 9 |
| 8 | The Lord of the Rings: The Return of the King | 2003 | Adventure | 8 |
| 6 | Schindlers List | 1993 | Biography | 8 |
| 7 | Pulp Fiction | 1994 | Crime | 8 |
| 3 | The Godfather: Part II | 1974 | Crime | 9 |
| 2 | The Godfather | 1972 | Crime | 9 |
| 9 | Fight Club | 1999 | Drama | 8 |
| 1 | The Shawshank Redemption | 1994 | Drama | 9 |
| 5 | 12 Angry Men | 1957 | Drama | 8 |
| 10 | The Good, the Bad and the Ugly | 1966 | Western | 8 |