sql >> データベース >  >> RDS >> Oracle

Oracleの単一のselectステートメントに複数のパーティションを含める方法

    特定のパーティションからデータを選択するには、少なくとも3つの方法があります。 マニュアル を参照してください。 構文の詳細については、

    create table agg_summary (period date, lvl_id number)
    partition by list (lvl_id)
    (
        partition p1 values (1),
        partition p2 values (2),
        partition p3 values (3)
    );
    
    --#1: Normal predicate:
    select * from agg_summary where lvl_id in (1,2);
    
    --#2: Partition_extended_name:
    select * from agg_summary partition (p1)
    union all
    select * from agg_summary partition (p2);
    
    --#3: Partition_excension_clause:
    select * from agg_summary partition for (1)
    union all
    select * from agg_summary partition for (2);
    

    時間の99.9%オプション#1で十分です。 Oracleは、使用されているパーティションを自動的に判別し、正しくプルーニングします。プルーニングが正しく機能しない場合、またはパーティション名またはキーに基づいて選択する方が論理的である場合は、オプション#2または#3が機能するはずです。




    1. 拡張機能pg_trgmから%演算子を使用するにはどうすればよいですか?

    2. WEEKDAY()の例– MySQL

    3. データベースへの画像の保存

    4. SQLでn個のランダムな行を更新します