nullだったらこの値を入れる
外部結合などにより、値があれば、なかったらという条件をつけたいとします。if文を使うと以下のようになります。
SELECT
IF((hoge IS NULL), foo, hoge) as column_name
FROM
...
これが一つなら特にややこしくないんですが、hoge, foo, bar, piyo と値があった場合if文をnestしていく事となり、書くのも読むのもかなりしんどくなります。実際に例をあげたいのですが、面倒なので書きません…。
COALESCEを使う
そういう場合はCOALESCEを使うと簡単に記述できます。
SELECT
COALESCE(hoge, foo, bar, piyo)
FROM
このように記述します。左から評価していくのでhoge, foo, bar, piyoの順に最初にnull出なかった値が入ります。
知っていると簡単にかけるのですが、しらないとifを何度も書いたりcase文を記述することになるので注意です