Previous: from 句
Up: from 句
Previous Page: from 句
Next Page: where句
その前に、二つのテーブルの「積」という演算を定義してみよう。
項目 a1 , a2 からなるテーブルAと、項目 b1 , b2 , b3 からなるテーブルBがあっ
たとしよう。いま、単純化して、テーブルAとBには、下の図式で表されるようなデー
タが入っており、それぞれ2行と3行からなっているとしよう。
テーブルA テーブルB a1 a2 b1 b2 b3 -------- -------- --------- --------- -------- 10 01 a 1 x 20 02 b 2 y c 3 z
こうした時2つのテーブルの「積」A×Bは、次のように作られる。
まず、テーブルAの第一行を取り出し、その一行と、テーブルBの全ての行を組み合わ
せて新しい行を作る。次に、テーブルAの第二行目と、テーブルBの全ての行を組み合
わせて行を作る。こうした操作を、テーブルAの行が無くなるまで繰り返す。
先のテーブルA、Bの例では、A×Bは、次のようになる。
a1 a2 b1 b2 b3 -------- -------- --------- --------- -------- 10 01 a 1 x 10 01 b 2 y 10 01 c 3 z 20 02 a 1 x 20 02 b 2 y 20 02 c 3 z
明らかに、A×Bは、新しいテーブルである。一般に、テーブルAがa個の行からな り、テーブルBがb個の行からなる時、テーブルA×Bは、a×b個の行からなる。
select を使えば、テーブルAの内容は、
select * from Aで見ることが出来るし、テーブルBの内容は、
select * from Bで表示される。この時、テーブルA×Bの内容は、次のselect文で得られる。
select * from A , B
これまでは、from句には、単一のテーブルしか現れてこなかったが、この例のように、 コンマ(,)で区切って、複数のテーブル名を指定することが出来る。
maruyama@wakhok.ac.jp