Sybase 12.7 manual ジョイン演算子, 外部キーによって関連付けられたテーブル, キー・ジョインを使用したテーブルのジョイン, Sybase IQ

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 38
Image 38
外部キーによって関連付けられたテーブル

ジョイン演算子

外部キーによって関連付けられたテーブル

asiqdemo データベースのいくつかのテーブルは、データベース内の他のテー ブルを参照しています。たとえば、sales_order テーブルには、注文を担当す る従業員を示す sales_rep カラムがあります。sales_order テーブルには、従業 員をユニークに識別するために必要な最小限の情報だけが格納されています。 sales_order テーブルの sales_rep カラムは、employee テーブルに対する外部 キーになっています。

外部キー 外部キーは、他のテーブルの候補キーの値を含む 1 つまたは複数のカラムです ( 候補キーの詳細については、『Sybase IQ システム管理ガイド』の「第 5 章 デー タベース・オブジェクトの使用」を参照してください )。従業員データベース 内の各外部キーの関係は、2 つのテーブル間の矢印によって図示されます。 『Sybase IQ の概要』の1-1 (11 ページ ) のサンプル・データベースの図に、こ れらの矢印が示されています。矢印は関係の外部キー側を起点とし、候補キー 側を指し示しています。

ジョイン演算子

多くの一般的なジョインは、外部キーで関連付けられた 2 つのテーブル間で行 われます。最も一般的なジョインでは、外部キーの値がプライマリ・キーの値 と等しいものに制限されます。すでに見てきた例では、sales_order テーブル の外部キーの値が、employee テーブルの候補キーの値と等しいものに制限され ています。

SELECT emp_lname, id, order_date

FROM sales_order, employee

WHERE sales_order.sales_rep = employee.emp_id

KEY JOIN を使用すると、クエリをより簡単に表現できます。

キー・ジョインを使用したテーブルのジョイン

キー・ジョインは、外部キーで関連付けられたテーブルを簡単にジョインする 方法です。例:

SELECT emp_lname, id, order_date

FROM sales_order

KEY JOIN employee

このコマンドは、次のように2 つの従業員ID 番号カラムを結び付ける WHERE 句を使ったクエリと同じ結果をもたらします。

SELECT emp_lname, id, order_date

FROM sales_order, employee

WHERE sales_order.sales_rep = employee.emp_id

22

Sybase IQ

Page 38
Image 38
Sybase 12.7 manual ジョイン演算子, 外部キーによって関連付けられたテーブル, キー・ジョインを使用したテーブルのジョイン, Sybase IQ