Данная команда позволяет сортировать вывод запроса согласно значениям в том или ином количестве выбранных столбцов. Если указывается несколько полей, то столбцы вывода упорядочиваются один внутри другого (по умолчанию в порядке возрастания).
ASC – сортировка по возрастанию;
DESC – сортировка по убыванию;
Пример 1. Вывести таблицу с информацией о студентах в алфавитном порядке.
SELECT * FROM STUDENT
ORDER BY SFAM ASC;
Результат запроса:
SNUM | SFAM | SIMA | SOTCH | STIP |
Гриценко | Владимир | Николаевич | 0.00 | |
Котенко | Анатолий | Николаевич | 0.00 | |
Нагорный | Евгений | Васильевич | 25.50 | |
Поляков | Анатолий | Алексеевич | 25.50 | |
Старова | Любовь | Михайловна | 17.00 |
Пример 2. Информацию о студентах упорядочить по уменьшению размера стипендии, а для студентов, имеющих одинаковый её размер – в алфавитном порядке их фамилий.
SELECT * FROM SUDENT
ORDER BY STIP DESC, SFAM ASC;
Результат запроса:
SNUM | SFAM | SIMA | SOTCH | STIP |
Нагорный | Евгений | Васильевич | 25.50 | |
Поляков | Анатолий | Алексеевич | 25.50 | |
Старова | Любовь | Михайловна | 17.00 | |
Гриценко | Владимир | Николаевич | 0.00 | |
Котенко | Анатолий | Николаевич | 0.00 |
ORDER BY может использоваться с GROUP BY для упорядочивания групп, при этом ORDER BY должен быть последним.
Пример 3. Вывести отчет о количестве студентов, получающих ту или иную стипендию с упорядочиванием размеров их стипендий.
SELEKT COUNT (DISTINCT SNUM)
‘студ. получают стипендию’,
STIP,’у.е.’
FROM STUDENTS
GROUP BY STIP
ORDER BY STIP DESC
Результат запроса:
STIP
--------------------------------------------------------------------------------
2 студ. получают стипендию 25.00 у. е.
1 студ. получают стипендию 17.00 у.е.
2 студ. получают стипендию 0.00 у.е.
Вместо имен столбцов, можно указывать их порядковые номера. Эти номера могут ссылаться не на порядок столбцов в таблице, а на их порядок в выводе.
Пример 4. Составить запрос, выводящий информацию о студентах в алфавитном порядке.
SELECT SNUM, SFAM, SIMA
FROM STUDENTS
ORDER BY 2 ASC;
Результат запроса:
SNUM | SFAM | SIMA |
Гриценко | Владимир | |
Котенко | Анатолий | |
Нагорный | Евгений | |
Поляков | Анатолий | |
Старова | Любовь |
Пример 5. Вывести отчёт о количестве студентов, получающих ту или иную стипендию с упорядочиванием по убыванию количества студентов.
SELEKT COUNT (DISTINCT SNUM)
‘студ. получают стипендию’,
STIP,’у.е.’
FROM STUDENTS
GROUP BY STIP
ORDER BY 1 DESC
Результат запроса:
STIP
--------------------------------------------------------------------
2 студ. получают стипендию 25.00 у. е.
2 студ. получают стипендию 0.00 у.е.
1 студ. получают стипендию 17.00 у.е.
Простые запросы.