このトピックでは、指定したパーティションとサブパーティションをクエリする方法について説明します。
構文
- 指定されたパーティションを照会します。
SELECT... FROM table_name PARTITION ( partition_name );
- 指定されたサブパーティションを照会します。
SELECT... FROM table_name SUBPARTITION ( subpartition_name );
パラメーター
パラメーター | 説明 |
table_name | テーブルの名前。 |
partition_name | パーティションの名前。 |
subpartition_name | サブパーティションの名前。 |
例
次の例に示すように、テスト用のsales
という名前のテーブルを作成し、テーブルにテストデータを挿入します。
テーブルの販売を作成する
(
dept_no number,
part_no varchar2,
country varchar2(20),
date date,
金額番号
)
範囲によるパーティー (日付)
SUBPARTITION BY LIST(country)
(
PARTITION q1_2012
VALUES LESS THAN('2012-Apr-01')
(
SUBPARTITION q1_europe VALUES ('FRANCE', 'ITALY'),
SUBPARTITION q1_asia VALUES ('INDIA', 'PAKISTAN'),
SUBPARTITION q1_americas VALUES ('US', 'CANADA')
),
PARTITION q2_2012
VALUES LESS THAN('2012-Jul-01')
(
SUBPARTITION q2_europe VALUES ('FRANCE', 'ITALY'),
SUBPARTITION q2_asia VALUES ('INDIA', 'PAKISTAN'),
SUBPARTITION q2_americas VALUES ('US', 'CANADA')
),
PARTITION q3_2012
VALUES LESS THAN('2012-Oct-01')
(
SUBPARTITION q3_europe VALUES ('FRANCE', 'ITALY'),
SUBPARTITION q3_asia VALUES ('INDIA', 'PAKISTAN'),
SUBPARTITION q3_americas VALUES ('US', 'CANADA')
),
PARTITION q4_2012
VALUES LESS THAN('2013-Jan-01')
(
SUBPARTITION q4_europe VALUES ('FRANCE', 'ITALY'),
SUBPARTITION q4_asia VALUES ('INDIA', 'PAKISTAN'),
SUBPARTITION q4_americas VALUES ('US', 'CANADA')
)
);
販売値に挿入 (10、'4519b' 、'FRANCE' 、'17-Jan-2012 '、'45000');
販売値に挿入 (20、'3788a' 、'INDIA、'01-Mar-2012 '、'7700');
販売値に挿入 (40、'9519b' 、'US' 、'12-Apr-2012 '、'145000');
販売値に挿入 (20、'378a' 、'PAKISTAN' 、'04-Jun-2012 '、'37500');
販売値に挿入 (40、'4577b' 、'US '、'11-Nov-2012' 、'25000');
販売値に挿入 (30、'7588b' 、'CANADA' 、'14-Dec-2012 '、'50000');
販売値に挿入 (30、'9519b' 、'CANADA' 、'01-Feb-2012 '、'7700');
販売値に挿入 (30、'4519b' 、'CANADA' 、'08-Apr-2012 '、'120000');
売上高に挿入する (40、'3788a' 、'US '、'12-May-2012' 、'4950');
販売値に挿入 (10、'9519b' 、'ITALY' 、'07-Jul-2012 '、'15000');
販売値に挿入 (10、'9519a' 、'FRANCE' 、'18 Aug-2012 '、'650000');
販売値に挿入 (10、'9519b' 、'フランス '、'18 Aug-2012' 、'650000');
販売値に挿入 (20、'3788b' 、'INDIA、'21-Sept-2012 '、'5090');
売上高に挿入する (40、'4788a' 、'US '、'23-9月-2012' 、'4950');
販売値に挿入 (40、'4788b' 、'US '、'09-Oct-2012' 、'15000');
販売値に挿入 (20、'4519a' 、'INDIA' 、'18-Oct-2012 '、'650000');
販売値に挿入 (20、'4519b' 、'INDIA、'2-Dec-2012 '、'5090');
- 次の例に示すように、指定されたパーティションを照会します。
select * from sales partition(q1_2012);
返された結果の例を次に示します。
dept_no | part_no | 国 | 日付 | 金額 -------- --------- --------------- -------------------------- ------------- 30 | 9519b | カナダ | 水曜日2月01 00:00:00 2012 | 75000 10 | 4519b | フランス | 1月17日火曜日00:00:00 2012 | 45000 20 | 3788a | インド | 木曜日01 00:00:00 2012 | 75000 (3行)
- 次の例に示すように、指定されたサブパーティションを照会します。
select * from salesサブパーティション (q3_europe);
返された結果の例を次に示します。
dept_no | part_no | 国 | 日付 | 金額 -------- --------- --------------- -------------------------- ------------- 10 | 9519b | イタリア | 7月7日土曜日00:00:00 2012 | 15000 10 | 9519a | フランス | 8月18日土曜日00:00:00 2012 | 650000 10 | 9519b | フランス | 8月18日土曜日00:00:00 2012 | 650000 (3行)