Фраза ORDER BY используется для того, чтобы упорядочить строки, извлекаемые запросом.
В предложении ORDER BY можно задавать несколько выражений. Сначала сортируются строки, основываясь на их значениях для первого выражения. Строки с одним и тем же значением для первого выражения затем сортируются по второму выражению и так далее. NULL-значения располагает после всех других при упорядочивании в порядке возрастания и перед всеми другими при сортировке в убывающем порядке. Вместо имени столбца можно указать его позицию для сокращения записи длинного выражения. Кроме того, при составлении сложных запросов, содержащих множественные операторы UNION, INTERSECT, MINUS, или UNION ALL, в предложении ORDER BY лучше использовать позиции, чем непосредственно сами выражения. Предложение ORDER BY может появляться только в последнем составляющем запросе и сортирует строки, полученные всем составным запросом в целом.
Предложение ORDER BY подчинено следующим ограничениям:
Если в утверждении SELECT используются и оператор ORDER BY и оператор DISTINCT, то предложение ORDER BY не может ссылаться на столбцы, не упоминаемые в списке выбора выбираемых столбцов.
|
|
Предложение ORDER BY не может появляться в подзапросах внутри других утверждений.
Пример 26. Выбрать записи по всем студентам, упорядочив результаты по баллу в возрастающем порядке.
При этом порядок возрастающий порядок сортировки ASC можно не указывать, так как он действует по умолчанию:
SELECT * FROM student ORDER BY ball;
Пример 27. Выбрать записи по всем студентам, упорядочив результаты по баллу в убывающем порядке:
SELECT * FROM student ORDER BY ball DESC;
Пример 28. Выбрать записи по студентам, упорядоченные сначала по возрастанию кода специальности, а затем по убыванию размера стипендии:
SELECT kod_s, stip FROM student ORDER BY kod_s ASC, stip DESC;
В начало