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

         

Предложение ORDER BY - часть 2


В операторе DECLARE CURSOR можно использовать столбец, рассчитанный на основе существующих столбцов таблицы. У такого столбца нет имени, которое может использоваться в предложении ORDER BY. Чтобы иметь возможность сослаться на этот столбец, его имя нужно определить в выражении запроса оператора DECLARE CURSOR. Рассмотрим следующий пример:

DECLARE revenue CURSOR FOR

    SELECT Model, Units, Price,

            Units * Price AS ExtPrice

        FROM TRANSDETAIL

    ORDER BY Model, ExtPrice DESC ;

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

В предложении ORDER BY по умолчанию используется порядок сортировки по возрастанию. Если в списке спецификаций присутствует сортировка DESC и следующая сортировка также должна производиться по убыванию, для нее следует указать ключевое слово DESC в явном виде. Например, выражение

ORDER BY А, В DESC, С, D, E, F

эквивалентно такому:

ORDER BY A ASC, В DESC, С ASC, D ASC, E ASC, F ASC




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