ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース11.2.1
B56051-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

副問合せ

TimesTenでは、検索条件のINSERT...SELECT文、CREATE VIEW文、CREATE VIEW文、UPDATE文またはUPDATEのSET句で、導出された表として副問合せがサポートされます。サポートされるのは、表の副問合せおよびスカラー副問合せです。行の副問合せはサポートされません。副問合せでは、HAVING句または結合表を使用して集計を指定できます。副問合せは相関も可能です。

SQL構文

[NOT] EXISTS | [NOT] IN (Subquery)
Expression {= | <> | > | >= | < | <= } [ANY | ALL] (Subquery)
Expression [NOT] IN (ValueList | Subquery)

説明

TimesTenでは、各項で説明した特性を持つ問合せがサポートされます。

表の副問合せ

スカラー副問合せ(スカラー副問合せは単一の値を返します)

次に、1件以上の未発送の発注を含む顧客リストの副問合せの例を示します。

SELECT customers.name FROM customers
  WHERE EXISTS (SELECT 1 FROM orders
    WHERE customers.id = orders.custid
    AND orders.status = 'unshipped');

SELECT customers.name FROM customers
    WHERE customers.id = ANY
        (SELECT orders.custid FROM orders
WHERE orders.status = 'unshipped');

SELECT customers.name FROM customers
    WHERE customers.id IN
        (SELECT orders.custid FROM orders
WHERE orders.status = 'unshipped');

この例では、発注日と同じ日付に発送されたアイテムをリストします。

SELECT line_items.id FROM line_items
    WHERE line_items.ship_date =
        (SELECT orders.order_date FROM orders
WHERE orders.id = line_items.order_id);