6. テーブルの結合
前章では、データの登録された一つのテーブルからデータを参照する方法について説明しました。 ここでは、複数のテーブルの間に定義されたリレーションシップをもとに、複数のテーブルを結合してデータを引き出すことを説明します。テーブルの結合とは、実際に新しいテーブルを作成するわけではなく、既存のテーブル間のリレーションシップから、データをよりわかりやすい状態で参照できるようにすることをいいます。
この章では次の 3つのテーブルを想定して説明を進めます。用意したテーブルは受注表、顧客表及び商品表です。テーブル定義もデータ入力も終わっています。
受注表
受注番号
CHAR(5) |
顧客コード
CHAR(4) |
商品コード
CHAR(4) |
受注個数
INTEGER |
納品日
CHAR(8) |
| 10001 |
001 |
102 |
300 |
20010401 |
| 10002 |
002 |
101 |
200 |
20010401 |
| 10003 |
004 |
101 |
150 |
20010401 |
| 10004 |
004 |
102 |
80 |
20010402 |
| 10005 |
002 |
104 |
110 |
20010402 |
| 10006 |
001 |
103 |
250 |
20010402 |
| 10007 |
003 |
102 |
45 |
20010402 |
| 10008 |
004 |
101 |
135 |
20010403 |
| 10009 |
003 |
103 |
65 |
20010403 |
| 10010 |
001 |
101 |
290 |
20010403 |
| 10011 |
003 |
103 |
60 |
20010404 |
| 10012 |
004 |
101 |
175 |
20010404 |
顧客表
顧客コード
CHAR(4) |
顧客名
CHAR(20) |
| 001 |
KUROKIYA |
| 002 |
ONSIDE |
| 003 |
FIRST HOUSE |
| 004 |
KUSHINANA |
|
|
商品表
商品コード
CHAR(4) |
商品名
CHAR(20) |
単価
INTEGER |
| 101 |
BEER |
500 |
| 102 |
JUICE |
400 |
| 103 |
TEA |
400 |
| 104 |
WINE |
650 |
|