Sybase IQ 12.7 User Manual

Page of 212
ジョイン演算子
 
22
 
Sybase IQ
外部キーによって関連付けられたテーブル
asiqdemo データベースのいくつかのテーブルは、データベース内の他のテー
ブルを参照しています。たとえば、
sales_order テーブルには、注文を担当す
る従業員を示す
 sales_rep カラムがあります。sales_order テーブルには、従業
員をユニークに識別するために必要な最小限の情報だけが格納されています。
sales_order テーブルの sales_rep カラムは、employee テーブルに対する外部
キーになっています。
外部キー
外部キーは、他のテーブルの候補キーの値を含む
 1 つまたは複数のカラムです
( 候補キーの詳細については、
Sybase IQ システム管理ガイド』の
を参照してください
)。従業員データベース
内の各外部キーの関係は、
2 つのテーブル間の矢印によって図示されます。
Sybase IQ の概要』の
 のサンプル・データベースの図に、こ
れらの矢印が示されています。矢印は関係の外部キー側を起点とし、候補キー
側を指し示しています。
ジョイン演算子
多くの一般的なジョインは、外部キーで関連付けられた
 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