Na verdade, com a ordem de classificação padrão (
ASCENDING
) Valores NULL vêm por último . A lógica determina que a ordem de classificação seja invertida com o
DESCENDING
palavra-chave, então NULLs vêm primeiro nesse caso. Mas a melhor parte vem por último:você pode escolher como quer:
- Use o
NULLS FIRST | LAST
cláusula.
Citando o atual manual, versão 9.3 no momento da redação:
SeNULLS LAST
for especificado, os valores nulos serão classificados após todos os valores não nulos; ifNULLS FIRST
for especificado, os valores nulos serão classificados antes de todos os valores não nulos. Se nenhum for especificado, o comportamento padrão éNULLS LAST
quandoASC
é especificado ou implícito eNULLS FIRST
quandoDESC
é especificado (assim, o padrão é agir como se os nulos fossem maiores que os não-nulos). QuandoUSING
for especificado, a ordenação de nulos padrão depende se o operador é um operador menor ou maior que.
Minha ênfase em negrito.