Предложение ORDER BY используется для сортировки данных в порядке возрастания или убывания, на основе одного или нескольких столбцов. Некоторые базы данных делают сортировку результатов запроса в порядке возрастания по умолчанию.
Базовый синтаксис предложения ORDER BY следующий:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
Вы можете использовать более одного столбец в предложении ORDER BY. Убедитесь, что столбец используется для сортировки, находиться в column-list.
Рассмотрим таблицу CUSTOMERS, имеющих следующие записи:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | | 6 | Dima | 32 | SP | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Следующий блок кода показывает пример, в котором будет сортировать результат в порядке возрастания по NAME и SALARY:
SQL> SELECT * FROM CUSTOMERS ORDER BY NAME, SALARY;
Это произведет следующий результат:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 6 | Dima | 32 | SP | 45000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 1 | Maxim | 35 | Moscow | 21000.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 7 | Roma | 34 | SP | 10000.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | +----+----------+-----+-----------+----------+
Следующий блок кода приводит пример сортировки результата в порядке убывания по NAME.
SQL> SELECT * FROM CUSTOMERS ORDER BY NAME DESC;
Это произведет следующий результат:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 5 | Ruslan | 34 | Omsk | 43000.00 | | 7 | Roma | 34 | SP | 10000.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 1 | Maxim | 35 | Moscow | 21000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 6 | Dima | 32 | SP | 45000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | +----+----------+-----+-----------+----------+