Раздел ORDER BY

Фраза 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;

В начало


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: