Por que quando temos um valor NULL em uma coluna e ordenamos pelo valor crescente, os NULLs são classificados primeiro?
select 1 as test
union all
select 2
union all
select NULL
union all
select 3
union all
select 4
order by test
resulta em
NULL
1
2
3
4
Eu continuo pensando que NULL significava "Indeterminado" ou possível "Desconhecido". Se isso é verdade, eles não classificariam por último, já que o valor poderia ser maior que todos os outros valores? (Ou essa é uma opção de classificação em algum lugar?)
Estou no SQL Server 2008R2, mas suspeito que isso seja verdade em todos os servidores SQL e provavelmente em todos os RDBMSs.
desc
ordem para mostrar as coisas maiores ou mais recentes; nesse caso, eu ficaria feliz que as coisas nulas fossem as últimas.