Dlaczego jest tak, że gdy mamy wartość NULL w kolumnie i sortujemy według wartości rosnąco, wartości NULL są najpierw sortowane?
select 1 as test
union all
select 2
union all
select NULL
union all
select 3
union all
select 4
order by test
prowadzi do
NULL
1
2
3
4
Ciągle myślę, że NULL oznacza „Nieokreślony” lub możliwy „Nieznany”. Jeśli to prawda, czy nie posortują na końcu, ponieważ wartość może być większa niż wszystkie inne wartości? (Czy jest to gdzieś opcja sortowania?)
Korzystam z SQL Server 2008R2, ale podejrzewam, że dotyczy to wszystkich serwerów SQL i prawdopodobnie wszystkich RDBMS.
desc
kolejności, aby pokazać największe lub najnowsze rzeczy, w takim przypadku byłbym zadowolony, gdyby rzeczy zerowe były ostatnie.