Порядок строк, возвращаемых в результате запроса, неопределен. Отсортировать строки можно с помощью предложения ORDER BY. Для сортировки можно задать выражение или позицию столбца в списке предложения SELECT.
По умолчанию строки сортируются по возрастанию (как ASC).
Порядок сортировки, принятый по умолчанию, меняется на противоположный с помощью слова DESC после имени столбца в предложении ORDER BY.
Пример 7: Вывод из таблицы S_EMP фамилии, номера отдела и даты начала работы каждого служащего. Результат сортируется по фамилиям.
SELECT DISTINCT id_otdel, id_cotr, fam_cotr
FROM EMP
ORDER BY id_otdel;
Пример 8: Вывод из таблицы S_EMP фамилии, номера отдела и даты найма каждого служащего. Результат сортируется таким образом, чтобы служащие, нанятые последними, возглавляли список.
SELECT id_otdel, id_cotr, fam_cotr, start_date FROM EMP ORDER BY start_date DESC;
В предложении ORDER BY можно указать псевдоним столбца. Сортировка может быть организована по позиции. Он особенно полезен при сортировке по длинному выражению. Вместо повторного ввода выражения можно указать его позицию в списке SELECT
|
|
Пример 9: Выбираем строки из таблицы EMP и сортируем по второму столбцу.
SELECT id_cotr, fam_cotr, salary*12
From EMP
ORDER BY 2;
Сортировать результат можно и по нескольким столбцам. Предельным количеством столбцов сортировки является количество столбцов таблицы. Столбцы указываются в предложении ORDER BY через запятые. Сортировать можно и по столбцам, не входящим в список SELECT.
Пример 10: Вывод фамилии, номера отдела и заработной платы всех служащих. Результат сортируется по номерам отделов, а внутри отделов - в порядке убывания заработной платы.
SELECT id_cotr, fam_cotr, salary
FROM EMP
ORDER BY id_otdel, salary DESC;
Ограничение количества выбираемых строк.
Ограничить набор строк, возвращаемых в результате запроса, можно с помощью предложения WHERE. Предложение WHERE следует сразу за предложением FROM и задает условие, которое должно быть выполнено. Условие состоит из имен столбцов, выражений, констант и операторов сравнения.
Пример 11: Запрос для вывода имен, фамилий и должностей, служащих с фамилией “Петров”.
SELECT id_cotr, fam_cotr, salary