SQL ServerのORDER BYのNULLの扱いについて調べたので、備忘録としてここに残します。
結論から言うと、SQL ServerでORDER BYのNULLは「最小値」として扱われます。
SQL Serverの公式ドキュメントでちゃんと言及されています。
ORDER BY 句 (Transact-SQL) - SQL Server | Microsoft Learn

実際に私の環境でNULLが最小値として扱われるか確認してみたいと思います。
社員テーブルという以下のようなカラムを持つテーブルで確認します(あくまでサンプルです)。社員番号が3の浅田 ゆかり、社員番号が8の佐藤 太郎の入社日がどちらもNULLという例になっていますね。

それでは、ORDER BY句に入社日を指定してSELECTしてみます。

結果として、NULLのデータがどちらも先頭に並んでいますね。
ORDER BY句には指定した列の昇順か降順で並び替えることができるASC | DESCを付与することができますが、省略した場合はASC、つまり昇順で並びかえることになります。
上記ケースではASC | DESCを省略しているので昇順で並び替えられています。そのため、NULLのデータがどちらも最小値として先頭に並び替えられていることがわかります。
因みに、降順であるDESCを付与すると以下のようになります。今度は降順なので、最小値としてNULLのデータは最後に並んでいます。

上記で確認した通り、SQL ServerではNULLは最小値として扱われることが分かりましたが、最小値ではなく最大値として扱いたいこともあるかもしれません。いくつか方法があるようですが、例えば以下のようにすると良いみたいです。

入社日がNULLではない場合は0、NULLの場合は1、と判定する式をIIFで並び替えの条件として最初に判定してあげることで、NULLを最大値として表現しています。
参考までに他RDBMSでは、例えばOracleはNULLを最大値として扱うのか最小値として扱うのかを指定するオプションがあるようです。使う場面は限られますが、細かいところまで制御できるところは良いかもしれませんね。
今回はこの辺で。最後までお読みいただきありがとうございました。