
第 2 章 テーブルのジョイン
複数のテーブルの ジョイン
ジョイン演算子 (KEY JOIN) は、単に WHERE 句の入力の手間を省くためのも ので、2 つのクエリはまったく同じものです。
『Sybase IQ の概要』の asiqdemo データベースの図では、外部キーがテーブル 間の線で表されています。図中で 2 つのテーブルが線で結合されていれば、 KEY JOIN 演算子を使用できます。キー・ジョインによるクエリで期待どおり の結果を得るには、アプリケーションで外部キーを強制的に適用する必要があ ります。
ジョイン演算子を使用して、複数のテーブルをジョインできます。次のクエリ では、4 つのテーブルを使用して、注文の合計額を顧客別にリストしています。
customer、sales_order、sales_order_items、product の 4 つのテーブルを、テー ブルの各ペア間の 1 つの外部キー関係で接続しています。
SELECT company_name,
CAST( SUM(sales_order_items.quantity * product.unit_price) AS INTEGER) AS value FROM customer
KEY JOIN sales_order
KEY JOIN sales_order_items KEY JOIN product
GROUP BY company_name
company_name | value |
McManus Inc. | 3,156 |
Salt & Peppers. | 4,980 |
The Real Deal | 1,884 |
Totos Active Wear | 2,496 |
The Ristuccia Center | 4,596 |
... |
|
|
|
このクエリで使用している CAST 関数は、式のデータ型を変換します。この例 では、整数として返される合計が値に変換されます。
パフォーマンス&チューニング・ガイド | 23 |