---
title: "指定分区查询数据 | OceanBase 文档中心"
description: 指定分区查询数据 本文档主要介绍指定分区查询表的数据。 描述 除了根据 SQL 语句的查询条件进行分区裁剪以外，OceanBase 数据库也支持用户通过 SQL 语句指定需要访问的分区。 如果 SQL 语句中指定了分区，系统会将查询的范围限定在所指定的分区集合内，同时根据 SQL 语句的查询条件进行分区裁剪。最终访问…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 指定分区查询数据

更新时间：2024-08-12 17:37:23

本文档主要介绍指定分区查询表的数据。

## 描述

除了根据 SQL 语句的查询条件进行分区裁剪以外，OceanBase 数据库也支持用户通过 SQL 语句指定需要访问的分区。

如果 SQL 语句中指定了分区，系统会将查询的范围限定在所指定的分区集合内，同时根据 SQL 语句的查询条件进行分区裁剪。最终访问的分区为指定分区和分区裁剪二者的交集。

## 语法

```sql
SELECT select_expr_list FROM table_name PARTITION (partition_name_list) [WHERE where_list];

```

## 示例

创建模板化 Range + Range 分区表 `tbl_m_rr` 并插入数据。

```sql
obclient> CREATE TABLE tbl_m_rr(col1 INT,col2 INT)
       PARTITION BY RANGE(col1)
       SUBPARTITION BY RANGE(col2)
       SUBPARTITION TEMPLATE
        (SUBPARTITION mp0 VALUES LESS THAN(1000),
         SUBPARTITION mp1 VALUES LESS THAN(2000),
         SUBPARTITION mp2 VALUES LESS THAN(3000)
        )
        (PARTITION p0 VALUES LESS THAN(100),
         PARTITION p1 VALUES LESS THAN(200),
         PARTITION p2 VALUES LESS THAN(300)
        );
Query OK, 0 rows affected

obclient> INSERT INTO tbl_m_rr VALUES(10,500),(20,1500),(50,1100),(120,1500),(150,1800),(150,2800);
Query OK, 6 rows affected
Records: 6  Duplicates: 0  Warnings: 0

```

- 查询表 `tbl_m_rr` 全部数据。

  ```sql
  obclient> SELECT * FROM tbl_m_rr;
  +------+------+
  | COL1 | COL2 |
  +------+------+
  |   10 |  500 |
  |   20 | 1500 |
  |   50 | 1100 |
  |  120 | 1500 |
  |  150 | 1800 |
  |  150 | 2800 |
  +------+------+
  6 rows in set

  ```
 - 查询表 `tbl_m_rr` 一级分区 `p0` 的数据。

  ```sql
  obclient> SELECT * FROM tbl_m_rr PARTITION(p0);
  +------+------+
  | COL1 | COL2 |
  +------+------+
  |   10 |  500 |
  |   20 | 1500 |
  |   50 | 1100 |
  +------+------+
  3 rows in set

  ```
 - 查询表 `tbl_m_rr` 一级分区 `p0` 和二级分区 `p1smp1` 的数据。

  ```sql
  obclient> SELECT * FROM tbl_m_rr PARTITION (p0,p1smp1);
  +------+------+
  | COL1 | COL2 |
  +------+------+
  |   10 |  500 |
  |   20 | 1500 |
  |   50 | 1100 |
  |  120 | 1500 |
  |  150 | 1800 |
  +------+------+
  5 rows in set

  ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
