LEFT JOIN で右側の表に一致する行が無いとき、右側の列の値は?
正答
- 空文字になる
- 0 になる
- NULL になる
- その行は結果から消える
解説
LEFT JOIN は左側の表の行をすべて残し、右側に一致する行が無ければ右側の列を NULL で埋める。空文字や 0 ではなく NULL なので、その後の条件や集計では NULL の扱いに注意が必要になる。「行が消える」のは INNER JOIN の挙動で、LEFT JOIN を使う理由はまさに左側の行を消さないことにある。
参考: www.sqlite.org
この問題を含む SQL のテストを制限時間つきで解く
SQLクイズへ