Sybase 12.7 Home Theater System User Manual


 
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