【Oracle SQL*Plus】3つ以上のテーブルを結合する【備忘録】
備忘録になります。
3つ以上のテーブル結合を一度に行えます。
結合する表は以下になります。
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
SQL> SELECT * FROM TEST_TABLE3;
ID,NAME ,VAL1,VAL2
--,------,----,----
4,NAME-D, 24,BD
5,NAME-E, 25,BE
8,NAME-H, 28,BH
9,NAME-I, 29,BI
3つのテーブルを結合します。
SQL> SELECT * FROM TEST_TABLE A
2 LEFT OUTER JOIN TEST_TABLE2 B
3 ON A.ID = B.ID
4 AND A.NAME = B.NAME
5 LEFT OUTER JOIN TEST_TABLE3 C
6 ON A.ID = C.ID
7 AND A.NAME = C.NAME;
ID,NAME ,VAL1,VAL2, 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 , , , ,
4,NAME-D, 4,D , , , , , 4,NAME-D, 24,BD
5,NAME-E, 5,E , , , , , 5,NAME-E, 25,BE
関連リンク