OceanBase 层次查询运算符
PRIOR 和 CONNECT_BY_ROOT 运算符仅在 层次查询 中有效。
PRIOR 运算符
在层次查询中,CONNECT BY
条件中应该包含至少一个由 PRIOR
运算符限定的表达式。PRIOR
运算符的结果,通过使用当前行的父行计算紧随后的表达式来得到。
PRIOR
最常用在列的等值比较场景中(PRIOR
可以在比较符的任意一侧)。理论上,在 CONNECT BY
子句中也可以使用等号(=)以外的其他运算符。但是,由这些其他运算符创建的条件可能会导致循环,在这种情况下,OceanBase 在运行时会检测循环并返回错误。
CONNECT_BY_ROOT 运算符
CONNECT_BY_ROOT
是一元运算符,仅在层次查询中有效。CONNECT_BY_ROOT
的参数可以是列和大部分的表达式,CONNECT_BY_ROOT
运算符的结果,等于使用根行的数据计算参数的值。
您不能在 START WITH
条件或 CONNECT BY
条件中指定此运算符。