MySQLによる完全外部結合

MySQLでは、FULL OUTER JOINが使えないので、UNIONで複数のSELECT文のデータの取得を行い、その結果を結合して1つのデータとして取得します。

以下の2つのテーブルに対して完全外部結合を行います。

fruits1 (テーブル名)

id name
1 リンゴ
2 オレンジ
4 バナナ

fruits2 (テーブル名)

id name
1 グレープ
3 モモ
4 イチゴ
5 マスカット
外部結合を使う方法
select f1.id, f1.name, f2.id, f2.name from fruits1 f1 left join fruits2 f2 on f1.id=f2.id 
union 
select f1.id, f1.name, f2.id, f2.name from fruits1 f1 right join fruits2 f2 on f1.id=f2.id
結果
id name id name
1 リンゴ 1 グレープ
2 オレンジ NULL NULL
4 バナナ 4 イチゴ
NULL NULL 3 モモ
NULL NULL 5 マスカット