SQLのJOINで接続情報がNULL値のレコードを出力する方法
【概要】SQLのINNER JOIN等で接続する際に接続するカラムの値がNULLの場合、そのレコードは出力されません。複数テーブルを結合する際に結合するカラムの値がNULLの場合でもレコードを出力する方法についてまとめます。このドキュメントでは3つのテーブル(hoge, fuga, hogefuga)を接続する事を例とします。【詳細】・構文SELECT * FROM (テーブル1 INNER JOIN テーブル2 ON テーブル1.テーブル2_id テーブル2.id) LEFT OUTER JOIN テーブル3 ON テーブル1.テーブル3_id テーブル3.id;・例文SELECT * FROM (hoge INNER JOIN fuga ON hoge.fuga_id fuga.id) LEFT OUTER JOIN hogefuga ON hoge.hogefuga_id hogefuga.id;「LEFT OUTER JOIN」を設定する事で「hoge.hogefuga_id」もしくは「hogefuga.id」がNULLでもレコードは出力されます。上記の例ではhogeテーブルとfugaテーブルはINNER JOINで接続している為、どちらかの接続カラムがNULLの場合は出力されません。