Упорядочение выходных полей (ORDER BY)
Как уже отмечалось, записи в таблицах реляционной базы данных не упорядочены. Однако данные, выводимые в результате выполнения запроса, могут быть упорядочены. Для этого используется оператор ORDER BY, который позволяет упорядочивать выводимые записи в соответствии со значениями одного или нескольких выбранных столбцов. При этом можно задать возрастающую (ASC) или убывающую (DESC) последовательность сортировки для каждого из столбцов. По умолчанию принята возрастающая последовательность сортировки.
Запрос, позволяющий выбрать все данные из таблицы предметов обучения SUBJECT с упорядочением по наименованиям предметов, выглядит следующим образом:
SELECT *
FROM SUBJECT
ORDER BY SUBJ_NAME;
Тот же список, но упорядоченный в обратном порядке, можно получить запросом:
SELECT *
FROM SUBJECT
ORDER BY SUBJ NAME DESC;
Можно упорядочить выводимый список предметов обучения по значениям семестров, а внутри семестров — по наименованиям предметов.
SELECT *
FROM SUBJECT
ORDER BY SEMESTER , SUB J_NAME ;
Предложение ORDER BY может использоваться с GROUP BY для упорядочения групп записей. При этом оператор ORDER BY в запросе всегда должен быть последним.
SELECT SUBJ_NAME, SEMESTER, MAX(HOUR) FROM SUBJECT
GROUP BY SEMESTER, SUBJ_NAME ORDER BY SEMESTER;
При упорядочении вместо наименований столбцов можно указывать их номера, имея, однако, в виду, что в данном случае это номера столбцов, указанные при определении выходных данных в запросе, а не номера столбцов в таблице. Полем с номером 1 является первое поле, указанное в предложении ORDER BY — независимо от его расположения в таблице.
SELECT SUBJ_ID, SEMESTER FROM SUBJECT ORDER BY 2 DESC ;
В этом запросе выводимые записи будут упорядочены по ПОЛЮ SEMESTR.
Если в поле, которое используется для упорядочения, существуют NULL-значения, то все они размещаются в конце или предшествуют всем остальным значениям этого поля.
| Maya 3D графика в кино и телевидении Воздействие испытаний ядерного оружия на здоровье населения Объектно-ориентированный язык программирования Java Объектно-ориентированное программирование Delphi Библиотека визуальных компонентов VCL и ее базовые классы Кроссплатформенное программирование для Linux Элементы управления Win32 Элементы управления Windows XP Файлы и устройства ввода/вывода Что такое экспертная система? Объектно-ориентированное программирование Инструментальные средства разработки экспертных систем Программирование на языке CLIPS Критерии и количественные характеристики надежности Расчет характеристик надежности невостанавливаемых резервированных изделий Расчет надежности системы с постоянным резервированием Интегрирование тригонометрических функций ; |