В этом учебном пособии вы узнаете, как использовать SQLite оператор ORDER BY с синтаксисом и примерами.
Описание
SQLite оператор ORDER BY используется для сортировки записей в вашем результирующем наборе.
Синтаксис
Синтаксис оператора ORDER BY в SQLite:
FROM tables
[WHERE conditions]
ORDER BY expression [ ASC | DESC ];
Параметры или аргументы
expressions
Столбцы или расчеты, которые вы хотите получить.
tables
Таблицы, из которых вы хотите получить записи. В операторе FROM должна быть указана хотя бы одна таблица.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для выбранных записей.
ASC
Необязательный. Он сортирует результирующий набор в порядке возрастания по expression. ASC используется по умолчанию, если модификатор не определен.
DESC
Необязательный. Он сортирует результирующий набор в порядке убывания по expression.
Примечание
- Если модификаторы ASC или DESC не указан в операторе ORDER BY, результаты будут отсортированы по expression в порядке возрастания. Это эквивалентно ORDER BY expression ASC.
- Оператор ORDER BY может использоваться в SELECT и SELECT LIMIT в SQLite.
Пример - сортировка без использования атрибута ASC/DESC
SQLite оператор ORDER BY можно использовать без указания модификатора ASC или DESC. Когда этот атрибут опущен в операторе ORDER BY, порядок сортировки по умолчанию устанавливается в ASC или в порядке возрастания.
Например:
1 2 3 4 5 |
SELECT last_name, first_name FROM employees WHERE employee_id < 10; ORDER BY last_name; |
В этом SQLite примере ORDER BY будут возвращены все записи из таблиц employees, где employee_id меньше 10. Результирующий набор будет отсортирован по полю last_name в порядке возрастания и будет эквивалентен следующему оператору ORDER BY:
1 2 3 4 5 |
SELECT last_name, first_name FROM employees WHERE employee_id < 10; ORDER BY last_name ASC; |
Большинство программистов пропускают атрибут ASC при сортировке в порядке возрастания.
Пример - сортировка по убыванию
При сортировке набора результатов в порядке убывания вы используете атрибут DESC в операторе ORDER BY следующим образом:
1 2 3 4 5 6 |
SELECT employee_id, last_name, first_name FROM employees WHERE last_name = 'Rassohin' ORDER BY first_name DESC; |
Этот SQLite пример ORDER BY сортирует набор результатов по полю first_name в порядке убывания.
Пример - сортировка по относительной позиции
Вы также можете использовать SQLite оператор ORDER BY для сортировки по относительной позиции в результирующем наборе, где первое поле в наборе результатов равно 1. Следующее поле равно 2 и т.д.
Например:
1 2 3 4 5 6 |
SELECT employee_id, last_name, first_name FROM employees WHERE employee_id > 45 ORDER BY 3 DESC; |
Этот SQLite пример ORDER BY будет возвращать результирующий набор, отсортированный по полю first_name в порядке убывания, поскольку поле first_name находится в позиции № 3 в результирующем наборе и будет эквивалентно следующему ORDER BY:
1 2 3 4 5 6 |
SELECT employee_id, last_name, first_name FROM employees WHERE employee_id > 45 ORDER BY first_name DESC; |
Пример - использование атрибутов ASC и DESC
При сортировке результирующего набора с помощью SQLite оператора ORDER BY вы можете объединить атрибуты ASC и DESC в одном операторе SELECT.
Например:
1 2 3 4 5 6 |
SELECT employee_id, last_name, first_name FROM employees WHERE employee_id > 45 ORDER BY last_name ASC, first_name DESC; |
Этот SQLite пример ORDER BY будет сортировать результирующий набор по первому полю last_name в порядке возрастания, с вторичной сортировкой по полю first_name в порядке убывания.