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 | マスカット |