SQL для начинающих


         

Предложение ORDER BY



Предложение ORDER BY

В зависимости от того, что программный код должен делать с данными, иногда требуется обрабатывать выбранные данные в определенном порядке. Сортировку строк перед их обработкой можно выполнять с помощью предложения ORDER BY (упорядочить по). Его синтаксис имеет следующий вид:

ORDER BY спецификация_сортировки [ , спецификация_сортировки]...

Существует множество спецификаций сортировки, каждая из которых имеет следующий синтаксис:

( имя_столбца ) [ COLLATE BY имя_сопоставления ] [ ASC | DESC ]

Для сортировки по столбцу данный столбец должен присутствовать в списке выборки в выражении запроса. Сортировку по столбцам таблицы, не вошедшим в список запроса, выполнить нельзя. Например, требуется произвести операцию, не поддерживаемую SQL, со строками таблицы CUSTOMER. В данном случае можно использовать курсор:

DECLARE custl CURSOR FOR

SELECT CustID, FirstName,LastName, City, State, Phone

        FROM CUSTOMER

    ORDER BY State, LastName, FirstName

В этом примере оператор SELECT выводит строки, упорядоченные вначале по штату (State), затем по фамилии (LastName) и по имени (FirstName). Перед тем как перейти к первому заказчику из штата Алабама (AL), выбираются все заказчики из штата Аляска (АК). Затем все записи о заказчиках из Аляски сортируются по их фамилиям (Aaron предшествует Abbot). Там, где фамилии совпадают, сортировка производится по имени (George Aaron предшествует Нету Aaron).

Приходилось ли вам когда-нибудь делать 40 копий документа, состоящего из 20 страниц, на копировальном аппарате без сортировщика? Ужас, до чего противная работа! Необходимо организовать место для 20 кучек, которые будут соответствовать 20 страницам документа, и ходить между ними 40 раз туда и обратно, раскладывая 40 копий по этим кучкам. Такой процесс называется сопоставлением. Аналогичный процесс возможен и в SQL.

Сопоставление — это набор правил, определяющих порядок сортировки строк данных. Сортировка по алфавитному порядку установлена по умолчанию. Однако можно выбрать отличный от установленного по умолчанию порядок, по которому будут упорядочиваться данные. Для этого следует использовать необязательный оператор COLLATE BY (использовать сопоставление). Любая реализация изначально поддерживает несколько часто встречающихся сопоставлений. Можно выбрать одно из них, указав лишь, как нужно упорядочивать данные — по возрастанию или по убыванию. Для этого в конце предложения нужно добавить ключевое слово ASC или DESC соответственно.



Содержание  Назад  Вперед