Sybase 12.7 Home Theater System User Manual


 
ジョイン演算子
22 Sybase IQ
外部キーによって関連付けられたテーブル
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