テーブルの結合
テーブルの結合は、複数のテーブルから値を取得して、1つのテーブルにすること。
特に、複数のテーブルから一致する値を取得して、1つのテーブルにすることを内部結合という。
内部結合をする際は、INNER JOIN句またはWHERE句を用いる。
例えば、社員表と研修表を受講番号で内部結合する場合、次のように記述する。
SERECT *
FROM 社員表 INNER JOIN 研修表
ON 社員表.受講番号 = 研修表.受講番号;
SELECT *
FROM 社員表, 研修表
WHERE 社員表.受講番号 = 研修表.受講番号;社員表
| 社員番号 | 所属部署 | 氏名 | 受講番号 |
|---|---|---|---|
| 0000001 | 営業部 | 田中奈津美 | S01 |
| 0000002 | 開発部 | 山田礼子 | E01 |
| 0000003 | 開発部 | 安藤徹 | E01 |
| 0000004 | 営業部 | 山下幸一 | S01 |
| 0000005 | 営業部 | 長谷川薫 | S01 |
| 0000006 | 開発部 | 遠藤渉 | E01 |
研修表
| 受講番号 | 研修内容 |
|---|---|
| S01 | 営業研修 |
| E01 | 開発研修 |
受講番号で内部結合した結果
| 社員番号 | 所属部署 | 氏名 | 受講番号 | 研修内容 |
|---|---|---|---|---|
| 0000001 | 営業部 | 田中奈津美 | S01 | 営業研修 |
| 0000002 | 開発部 | 山田礼子 | E01 | 開発研修 |
| 0000003 | 開発部 | 安藤徹 | E01 | 開発研修 |
| 0000004 | 営業部 | 山下幸一 | S01 | 営業研修 |
| 0000005 | 営業部 | 長谷川薫 | S01 | 営業研修 |
| 0000006 | 開発部 | 遠藤渉 | E01 | 開発研修 |