Previous: テーブルの結合
Up: ジョイン
Next: 三つのテーブルのジョイン
Previous Page: テーブルの結合

項目名の修飾

ジョインとの関わりでより重要なことは、この例の中に現れている、「出版社一覧.出 版社」とか、「書籍台帳.書名」といった項目名の指定の仕方である。
一般には、「テーブル名.項目名」といった形式で用いられ、その項目が、どのテーブル 中の項目であるかを指定する。例えば、「出版社一覧.出版社」とは、テーブル「出版社 一覧」中の項目「出版社」という意味であり、「書籍台帳.書名」というのは、テーブル 「書籍台帳」中の項目「書名」という意味である。こうした項目名の指定の仕方を、「 項目名の修飾」と呼ぶ。今までこの「項目名の修飾」という形式が現れてこなかった のは、selectで用いられるテーブルが、一つしかなかったからに他ならない。実は、先 の例では、「出版社一覧.出版社」や「書籍台帳.書名」といった項目名の修飾は、冗長 である。というのも、二つのテーブルの中で、「出版社」「書名」といった項目名は、 一方のテーブルにしか現れないからである。一方、「書籍台帳.出版社コード = 出版社 一覧.出版社コード」の部分での項目名の修飾は必須である。なぜなら、二つのテーブ ルのいずれにも、「出版社コード」という項目が含まれているからである。

 通常、ジョインは、二つのテーブルを、両方に共通に含まれる項目の所で、その項目 の値が等しくなるように行を選んで張り合わせたものであるから、項目名の修飾は必要 である。

もう一つジョインの例を見てみよう。
このデータベースでは、本の摘要は、「書籍台帳」にではなく、それとは別のテーブル 「内容一覧」に収められている。この二つのテーブルは、それぞれの本に一意的に付け られた「書籍番号」というコードを共有している。この二つのテーブルのジョイ ンは、この「書籍番号」を通して行われることになる。例31の検索は、書名の中 にUNIXというキーワードを含むものの検索であったが、今度の検索は、内容の中に、 UNIXというキーワードを含むものを検索する。

例 32: UNIXに関係ある本を検索(ジョイン)

select 書名
	from   書籍台帳,内容一覧
	where  内容 like '%UNIX%' 
	       and 書籍台帳.書籍番号 = 内容一覧.書籍番号

二つのテーブルを結び付ける、「書籍台帳.書籍番号 = 内容一覧.書籍番号 」という形に注目して欲しい。

maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST