【MySQL】複数のテーブルをJOINさせる方法。

めも。

極めて文法的なお話。

下記のような名前のテーブルがあるとする。

・table_1
・table_2
・table_3

ほしいカラムは下記とする。

・table_1.col_1
・table_2.col_2
・table_3.col_3

そして。

・「table_1.id」=「table_2」の「table1_id」
・「table_1.hoge_id」=「table_3」の「id」

だったとする。

この場合これらをすべてJOINしようとすると下記のようになる

SELECT t1.col_1, t2.col_2, t3.col_3 FROM table_1 AS t1 LEFT JOIN table_2 AS t2 ON t1.id = t2.table1_id LEFT JOIN table_3 AS t3 ON t1.hoge_id = t3.id

そして、この末端にWHERE、LIMIT、ORDERなどを追加してやればよい。
※この際、複数のテーブル間で同一のカラム名が存在しなかった場合、WHERE句などでテーブル名のプレフィックスを付加してやらなくてもエラーにはならない。っぽい。