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 | LASTcláusula.
Citando o atual manual, versão 9.3 no momento da redação:
SeNULLS LASTfor especificado, os valores nulos serão classificados após todos os valores não nulos; ifNULLS FIRSTfor especificado, os valores nulos serão classificados antes de todos os valores não nulos. Se nenhum for especificado, o comportamento padrão éNULLS LASTquandoASCé especificado ou implícito eNULLS FIRSTquandoDESCé especificado (assim, o padrão é agir como se os nulos fossem maiores que os não-nulos). QuandoUSINGfor especificado, a ordenação de nulos padrão depende se o operador é um operador menor ou maior que.
Minha ênfase em negrito.