Poniżej zaprezentowany kod
SELECT ProductNumber, Size
FROM AdventureWorksLT2012.SalesLT.Product
ORDER BY CASE
WHEN Size IS NULL THEN 1
ELSE 0
END,
Size
zwraca wyniki posortowane rosnąco według kolumny "Size", przy czym wiersze w których "Size" przyjmuje wartość "NULL", są umieszczone na końcu tabeli (normalnie byłyby na jej początku). No ok, kod działa, ale jak zrozumieć to umieszczenie wyników z "NULL" na końcu tabeli? Dlaczego instrukcja "ORDER BY CASE" wyrzuca je na koniec a nie na początek tabeli? Nie potrafię powiązać sortowania z jedynką zamiast "NULL" z umieszczeniem wyniku na końcu tabeli.