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

前へ
前へ
次へ
次へ
 

副問合せ

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

説明

TimesTenでは、次のような特性を持つ問合せがサポートされています。

表の副問合せ:

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

SQL構文

[NOT] EXISTS | [NOT] IN (Subquery)

Expression {= | <> | > | >= | < | <= } [ANY | ALL] (Subquery)

Expression [NOT] IN (ValueList | Subquery)

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

例3.6

SELECT customers.name FROM customers

  WHERE EXISTS (SELECT 1 FROM orders

    WHERE customers.id = orders.custid

    AND orders.status = 'un-shipped');

例3.7

SELECT customers.name FROM customers

    WHERE customers.id = ANY

        (SELECT orders.custid FROM orders

        WHERE orders.status = 'un-shipped');

例3.8

SELECT customers.name FROM customers

    WHERE customers.id IN

        (SELECT orders.custid FROM orders

        WHERE orders.status = 'un-shipped');

例3.9

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

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);