
ジョイン演算子
外部キーによって関連付けられたテーブル
asiqdemo データベースのいくつかのテーブルは、データベース内の他のテー ブルを参照しています。たとえば、sales_order テーブルには、注文を担当す る従業員を示す sales_rep カラムがあります。sales_order テーブルには、従業 員をユニークに識別するために必要な最小限の情報だけが格納されています。 sales_order テーブルの sales_rep カラムは、employee テーブルに対する外部 キーになっています。
外部キー 外部キーは、他のテーブルの候補キーの値を含む 1 つまたは複数のカラムです ( 候補キーの詳細については、『Sybase IQ システム管理ガイド』の「第 5 章 デー タベース・オブジェクトの使用」を参照してください )。従業員データベース 内の各外部キーの関係は、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
22 | Sybase IQ |