外部結合で結合するには、OUTER JOIN句を使用します。
構文
- (左外部結合構文)※左側は全て出力する結合
- テーブルA LEFT [OUTER] JOIN テーブルB ON 結合条件
- (右外部結合構文)※右側は全て出力する結合
- テーブルA RIGHT [OUTER] JOIN テーブルB ON 結合条件
SELECT文のFROM句の部分のみです。
OUTERは省略可能です。
サンプル
以下に出てくるテーブルは全てcol1列とcol2列を主キーとします。
例1)テーブル「tblA」←「tblB」で左外部結合する
1 2 3 4 5 6 7 |
SELECT * FROM tblA LEFT OUTER JOIN tblB ON tblA.col1 = tblB.col1 AND tblA.col2 = tblB.col2 |
例)例2)テーブル「tblA」←「tblB」、「tblB」←「tblC」で左外部結合する
1 2 3 4 5 6 7 8 9 10 |
SELECT * FROM tblA LEFT OUTER JOIN tblB ON tblA.col1 = tblB.col1 AND tblA.col2 = tblB.col2 LEFT OUTER JOIN tblC ON tblB.col1 = tblC.col1 AND tblB.col2 = tblC.col2 |
例3)テーブル「tblA」=「tblB」は内部結合、「tblA」←「tblC」は左外部結合する
1 2 3 4 5 6 7 8 9 10 |
SELECT * FROM tblA INNER JOIN tblB ON tblA.col1 = tblB.col1 AND tblA.col2 = tblB.col2 LEFT OUTER JOIN tblC ON tblA.col1 = tblC.col1 AND tblA.col2 = tblC.col2 |
解説
- 結合条件が複数列ある場合は、ANDでつなげて記述すればOKです。
- 外部結合は以下ページをご覧ください
→ 内部結合で結合する(INNER JOIN)