まず、COALESCE(メモ,'(メモはNULLです)')
に注目します。
テーブル「家計簿」のカラム「メモ」にNULLが含まれる可能性があることを考慮して、
NULLだった場合に「(メモはNULLです)」を返すためにそう書いているようですね。
COALESCE()で加工しないで出力すると、
テーブル「家計簿」のカラム「メモ」にNULLだった場合に空欄として出力しているのが、
最初の画像の状態だと察します。
(SQLを実行する環境によっては、「(NULL)」と表示したり、「\N」と表示したりするケースもありますが。)
次にAS メモ
に注目します。
この「メモ」はテーブル「家計簿」のカラム「メモ」のことではなく、
ASの左側にあるものを名付けます、それは「メモ」です、という意味です。
そのため、
COALESCE(メモ,'(メモはNULLです)') AS メモ
を仮に
COALESCE(カモメ,'(メモはNULLです)') AS メモ
などと崩すと、そんなカラムはないのでエラーになりますが、
COALESCE(メモ,'(メモはNULLです)') AS カモメ
としてもエラーにはなりません。
カモメという名前のカラムとして扱われる正しい処理です。
COALESCE()の引数は、複数個並べられます。
その、並べた左側から順に、NULLかどうか評価して、
NULLじゃない値であれば、その値を返します。
NULLだったばあいは、右隣の値を評価します。
COALESCE(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'きさらぎ')
は
適切に「きさらぎ」を返します。
テーブル家計簿に納まるデータを1行ずつ評価して、
カラム「メモ」がNULLの場合に、
COALESCE(メモ,'(メモはNULLです)')
は
COALESCE(NULL,'(メモはNULLです)')
となり、
1つ目の引数メモがNULLだから
2つ目の引数'(メモはNULLです)'を評価してNULLじゃないので、
結果「(メモはNULLです)」を返します。
メモが'自分へのご褒美'だと、
COALESCE(メモ,'(メモはNULLです)')
は
COALESCE('自分へのご褒美','(メモはNULLです)')
となり、1つ目がNULLじゃないので「自分へのご褒美」を返します。