【SQL】AccessのSQLで3つ4つテーブルを結合する【Access】

AccessのSQLでは、2つのテーブルを結合する場合は普通にLEFT JOIN するだけです。

ところが3つ以上のテーブルを普通に結合しようとするとエラーになります。

なんだこれと思って調べてみると、AccessのSQLだけ一筋縄ではいかないようです。

分かりにくくて難しいです…

3つのテーブルを結合

3つのテーブルを結合(LEFT JOIN)する場合はこうなります。

SELECT *
FROM (TABLE01 AS T1
LEFT JOIN TABLE02 AS T2 ON (T2.No = T1.No))
LEFT JOIN TABLE03 AS T3 ON (T3.No = T2.No)
;
hosted with ❤ by

1つ目のテーブルと2つ目のテーブルをカッコでくくってやる必要があるようですね。

4つのテーブルを結合

4つのテーブルを結合する場合だとこうなります。

SELECT *
FROM ((TABLE01 AS T1
LEFT JOIN TABLE02 AS T2 ON (T2.No = T1.No))
LEFT JOIN TABLE03 AS T3 ON (T3.No = T2.No))
LEFT JOIN TABLE04 AS T4 ON (T4.No = T3.No)
;
hosted with ❤ by

5つのテーブルを結合

あとは括弧がどんどん増えていくことになります。

SELECT *
FROM (((TABLE01 AS T1
LEFT JOIN TABLE02 AS T2 ON (T2.No = T1.No))
LEFT JOIN TABLE03 AS T3 ON (T3.No = T2.No))
LEFT JOIN TABLE04 AS T4 ON (T4.No = T3.No))
LEFT JOIN TABLE05 AS T5 ON (T5.No = T4.No)
;
hosted with ❤ by