Sybase 12.7 manual 前項のチュートリアルのジョインは、より正確には「内部ジョイン」と呼ばれ, パフォーマンス&チューニング・ガイド

Models: 12.7

1 212
Download 212 pages 60.16 Kb
Page 45
Image 45

 

 

 

 

 

 

 

 

 

 

2 章 テーブルのジョイン

 

外部ジョインの使用

前項のチュートリアルのジョインは、より正確には「内部ジョイン」と呼ばれ

 

ます。

 

 

 

 

 

 

 

 

 

 

 

 

外部ジョインを明示的に指定します。この場合は、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

 

 

 

 

 

 

 

company_name

 

max(sales_order.id)

 

state

 

 

 

 

Custom Designs

 

2547

 

 

 

WA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Its a Hit!

 

 

(NULL)

 

 

WA

サブクエリの使用

在庫が少ない製品の注文項目をリストするには、次のコマンドを入力します。

 

SELECT *

 

 

 

 

 

 

 

 

 

 

 

 

FROM sales_order_items

 

 

 

 

 

 

 

WHERE prod_id IN

 

 

 

 

 

 

 

 

 

 

 

( SELECT id

 

 

 

 

 

 

 

 

 

 

 

FROM product

 

 

 

 

 

 

 

 

 

 

 

WHERE quantity < 20 )

 

 

 

 

 

 

 

ORDER BY ship_date DESC

 

 

 

 

 

 

 

 

line_id

 

 

prod_id

 

quantity

 

ship_date

 

id

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

カッコで囲まれたフレーズが、この文のサブクエリです。

( SELECT id FROM product

WHERE quantity < 20 )

サブクエリを使用すると、検索を 1 回のクエリだけで実行できるようになり ます。このため、在庫が少ない製品のリストをクエリで検索し、さらにその 製品の注文を別のクエリで検索する必要がなくなります。

このサブクエリは、製品テーブルの id カラムで WHERE 句の探索条件を満た すすべての値をリストします。

パフォーマンス&チューニング・ガイド

29

Page 45
Image 45
Sybase 12.7 manual 前項のチュートリアルのジョインは、より正確には「内部ジョイン」と呼ばれ, パフォーマンス&チューニング・ガイド