OceanBase SELECT INTO

2021-06-29 17:43 更新

SELECT INTO 算子用于將查詢結(jié)果賦值給變量列表,查詢僅返回一行數(shù)據(jù)。

如下示例查詢中, ?SELECT? 輸出列為 ?COUNT(*)? 和 ?MAX(c1)?,其查詢結(jié)果分別賦值給變量 @a 和 @b。

obclient>CREATE TABLE t1(c1 INT, c2 INT);
Query OK, 0 rows affected (0.12 sec)

obclient>INSERT INTO t1 VALUES(1,1);
Query OK, 1 rows affected (0.12 sec)

obclient>INSERT INTO t1 VALUES(2,2);
Query OK, 1 rows affected (0.12 sec)

obclient>EXPLAIN SELECT COUNT(*), MAX(c1) INTO @a, @b FROM t1\G;
*************************** 1. row ***************************
Query Plan:
=========================================
|ID|OPERATOR        |NAME|EST. ROWS|COST|
-----------------------------------------
|0 |SELECT INTO     |    |0        |37  |
|1 | SCALAR GROUP BY|    |1        |37  |
|2 |  TABLE SCAN    |t1  |2        |37  |
=========================================
Outputs & filters: 
-------------------------------------
  0 - output([T_FUN_COUNT(*)], [T_FUN_MAX(t1.c1)]), filter(nil)
  1 - output([T_FUN_COUNT(*)], [T_FUN_MAX(t1.c1)]), filter(nil), 
      group(nil), agg_func([T_FUN_COUNT(*)], [T_FUN_MAX(t1.c1)])
  2 - output([t1.c1]), filter(nil), 
      access([t1.c1]), partitions(p0)

上述示例中,執(zhí)行計(jì)劃展示中的 outputs & filters 詳細(xì)列出了 SELECT INTO 算子的輸出信息如下:

信息名稱

含義

output

該算子賦值給變量列表的表達(dá)式。

filter

該算子上的過(guò)濾條件。

由于示例中 SELECT INTO 算子沒(méi)有設(shè)置 filter,所以為 nil。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)