昇順ソートでNULLを最後にする方法

以下のようなテーブルrosterがあったとする。

+----+--------+
| id | name   |
+----+--------+
|  1 | Daniel |
|  2 | NULL   |
|  3 | Bob    |
|  4 | Alice  |
|  5 | Carol  |
+----+--------+

単に ORDER BY key_col ASC とするとNULLが先頭にくる。

mysql> SELECT * FROM roster ORDER BY name ASC;
+----+--------+
| id | name   |
+----+--------+
|  2 | NULL   |
|  4 | Alice  |
|  3 | Bob    |
|  5 | Carol  |
|  1 | Daniel |
+----+--------+

NULLを最後にもってきたい場合は次のように書く。

mysql> SELECT * FROM roster ORDER BY name IS NULL ASC, name ASC;
+----+--------+
| id | name   |
+----+--------+
|  4 | Alice  |
|  3 | Bob    |
|  5 | Carol  |
|  1 | Daniel |
|  2 | NULL   |
+----+--------+

key_col IS NULL ASC でNULLが最後になるのでそのあと key_col ASC で昇順にソートする。