サブクエリの比較テスト (=、<>、<、<=、>、>=) は、単純な比較テストを変更したものです。サブクエリの比較テストでは、演算子の後ろに来る式がサブクエリになる点だけが異なります。このテストを使用して、メイン・クエリのローからの値を、サブクエリが生成する 1 つの値と比較します。
このクエリにはサブクエリ比較テストの例が含まれています。
SELECT Name, Description, Quantity FROM Products WHERE Quantity < 2 * ( SELECT AVG( Quantity ) FROM SalesOrderItems ); |
Name | Description | Quantity |
---|---|---|
Tee Shirt | Tank Top | 28 |
Baseball Cap | Wool cap | 12 |
Visor | Cloth Visor | 36 |
Visor | Plastic Visor | 28 |
... | ... | ... |
次のサブクエリは単一の値、つまり各顧客が発注したタイプ別平均品目数を、SalesOrderItems テーブルから取り出します。
SELECT AVG( Quantity ) FROM SalesOrderItems; |
メイン・クエリは、各品目の在庫数をその値と比較します。
比較テストのサブクエリは 1 つの値を返します。次の例では、SalesOrderItems テーブルから 2 つのカラムを抽出するサブクエリを持つクエリを考えてみます。
SELECT Name, Description, Quantity FROM Products WHERE Quantity < 2 * ( SELECT AVG( Quantity ), MAX( Quantity ) FROM SalesOrderItems); |
このクエリは、「select リストの中にカラムが 2 つ以上指定されています。
」というエラーを返します。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |