| --- | |
| { | |
| "title": "QUERY", | |
| "language": "en", | |
| "description": "Query table function (table-valued-function, tvf) can be used to transparently transmit query statements directly to a catalog for data query" | |
| } | |
| --- | |
| ## Description | |
| Query table function (table-valued-function, tvf) can be used to transparently transmit query statements directly to a catalog for data query | |
| Supported by Doris version 2.1.3, currently only transparent query jdbc catalog is supported. | |
| You need to create the corresponding catalog in Doris first. | |
| ## Syntax | |
| ```sql | |
| QUERY( | |
| "catalog" = "<catalog>", | |
| "query" = "<query_sql>" | |
| ); | |
| ``` | |
| ## Required Parameters | |
| Each parameter in the query table function tvf is a `"key"="value"` pair. | |
| | Field | Description | | |
| |------------|--------------------------------------------| | |
| | `catalog` | Catalog name, which needs to be filled in according to the name of the catalog. | | |
| | `query` | The query statement to be executed. | | |
| ## Examples | |
| Can be used with `desc function` | |
| ```sql | |
| desc function query("catalog" = "jdbc", "query" = "select * from test.student"); | |
| ``` | |
| ```text | |
| +-------+------+------+-------+---------+-------+ | |
| | Field | Type | Null | Key | Default | Extra | | |
| +-------+------+------+-------+---------+-------+ | |
| | id | int | Yes | true | NULL | | | |
| | name | text | Yes | false | NULL | NONE | | |
| +-------+------+------+-------+---------+-------+ | |
| ``` | |
| Transparent query for tables in jdbc catalog data source | |
| ```sql | |
| select * from query("catalog" = "jdbc", "query" = "select * from test.student"); | |
| ``` | |
| ```text | |
| +------+---------+ | |
| | id | name | | |
| +------+---------+ | |
| | 1 | alice | | |
| | 2 | bob | | |
| | 3 | jack | | |
| +------+---------+ | |
| ``` | |
| ```sql | |
| select * from query("catalog" = "jdbc", "query" = "select * from test.score"); | |
| ``` | |
| ```text | |
| +------+---------+ | |
| | id | score | | |
| +------+---------+ | |
| | 1 | 100 | | |
| | 2 | 90 | | |
| | 3 | 80 | | |
| +------+---------+ | |
| ``` | |
| Transparent join query for tables in jdbc catalog data source | |
| ```sql | |
| select * from query("catalog" = "jdbc", "query" = "select a.id, a.name, b.score from test.student a join test.score b on a.id = b.id"); | |
| ``` | |
| ``` | |
| +------+---------+---------+ | |
| | id | name | score | | |
| +------+---------+---------+ | |
| | 1 | alice | 100 | | |
| | 2 | bob | 90 | | |
| | 3 | jack | 80 | | |
| +------+---------+---------+ | |
| ``` |