Оператор order by
Необязательный оператор order by изменяет порядок вывода элементов в кортеже и имеет одну из следующих форм:
order by выражение-1 модификатор-порядка-1,…
или
stable order by выражение-1 модификатор-порядка-1,…
Элемент модификатор-порядка состоит из трех компонент, каждая из которых является необязательной.
Первая компонента может иметь либо значение ascending (сортировка в возрастающем порядке), либо значение descending (сортировка в убывающем порядке).
Вторая компонента может иметь либо значение empty greatest (пустой элемент – в конце потока кортежей), либо значение empty least (пустой элемент – в начале потока кортежей).
Третья компонента задается в виде
collation "URI"
где "URI" – ссылка на ресурс, содержащий правила сравнения строк.
Если оператор order by задан, для каждого кортежа в потоке кортежей вычисляются значения выражения с учетом связей переменных. Относительный порядок двух кортежей определяется сравнением их значений слева направо в соответствии с заданным выражением и модификатором-порядка пока не встретится пара неравных значений.
Если в операторе order by используется ключевое слово stable, при сравнении, если два кортежа равны, они сохраняют тот же относительный порядок, что и в исходной последовательности.
Дата добавления: 2015-03-19; просмотров: 598;