【Oracle SQL*Plus】テーブル結合(FULL OUTER JOIN)【備忘録】
備忘録になります。
以下の2つのテーブルを結合します。
SQL> SELECT * FROM TEST_TABLE;
ID,NAME ,VAL1,VAL2
---,------,----,----
1,NAME-A, 1,A
2,NAME-B, 2,B
3,NAME-C, 3,C
4,NAME-D, 4,D
5,NAME-E, 5,E
SQL> SELECT * FROM TEST_TABLE2;
ID,NAME ,VAL1,VAL2
---,------,----,----
1,NAME-A, 11,AA
2,NAME-B, 12,AB
3,NAME-C, 13,AC
6,NAME-F, 16,AF
7,NAME-G, 17,AG
この2つのテーブルのIDとNAMEを紐づけて結合します。結合条件を満たさないレコードを全て残す場合「FULL OUTER JOIN」を使います。結合されない右テーブルの内容はNULLが入ります。
SQL> SELECT * FROM TEST_TABLE A
2 FULL OUTER JOIN TEST_TABLE2 B
3 ON A.ID = B.ID
4 AND A.NAME = B.NAME;
ID,NAME ,VAL1,VAL2, ID,NAME ,VAL1,VAL2
---,------,----,----,---,------,----,----
1,NAME-A, 1,A , 1,NAME-A, 11,AA
2,NAME-B, 2,B , 2,NAME-B, 12,AB
3,NAME-C, 3,C , 3,NAME-C, 13,AC
, , , , 6,NAME-F, 16,AF
, , , , 7,NAME-G, 17,AG
4,NAME-D, 4,D , , , ,
5,NAME-E, 5,E , , , ,
7行が選択されました。
関連リンク