Sybase IQ 12.7 User Manual

Page of 212
 2 章    テーブルのジョイン
パフォーマンス&チューニング・ガイド
29
外部ジョインの使用
前項のチュートリアルのジョインは、より正確には「内部ジョイン」と呼ばれ
ます。
外部ジョインを明示的に指定します。この場合は、
GROUP BY 句も必要です。
SELECT  company_name,
MAX( sales_order.id ),state
FROM customer
KEY LEFT OUTER JOIN sales_order 
WHERE state = 'WA'
GROUP BY company_name, state
サブクエリの使用
在庫が少ない製品の注文項目をリストするには、次のコマンドを入力します。
SELECT *
FROM sales_order_items
WHERE prod_id IN
 ( SELECT id
FROM product
WHERE quantity < 20 )
ORDER BY ship_date DESC 
カッコで囲まれたフレーズが、この文のサブクエリです。
(  SELECT id
FROM product
WHERE quantity < 20 )
サブクエリを使用すると、検索を
 1 回のクエリだけで実行できるようになり
ます。このため、在庫が少ない製品のリストをクエリで検索し、さらにその
製品の注文を別のクエリで検索する必要がなくなります。
このサブクエリは、製品テーブルの
 id カラムで WHERE 句の探索条件を満た
すすべての値をリストします。
company_name
max(sales_order.id)
state
Custom Designs
2547
WA
Its a Hit!
(NULL)
WA
id line_id 
prod_id 
quantity 
ship_date
2082 1 
401  48  1994-07-09
2053 1 
401  60  1994-06-30
2125 2 
401  36  1994-06-28
2027 1 
401  12  1994-06-17
2062 1 
401  36  1994-06-17