OrientDB SELECT 和子查询
OrientDB SELECT and subqueries
对此我真的很纳闷。
为什么这样做:
SELECT out('Posted').out('IsFromCategory') FROM #18:1
而这不是:
SELECT out('IsFromCategory') FROM (SELECT out('Posted') FROM #18:1)
这不是我真正的逻辑,而是我在做一些测试时想出来的...
如您所知,您需要在子查询中使用 expand
,因此它看起来像
SELECT out('IsFromCategory') FROM (SELECT expand(out('Posted')) FROM #18:1)
这就像没有expand
returns @rid
列表的子查询,所以select 没有任何内容,而扩展后得到一个列表使用整个实体(顶点),您可以从中遍历它们具有的任何边。
(不确定为什么这与您的第一个查询的行为不同。可能是因为第一个是一个查询并且您明确要求遍历,而第二个是两个查询并且当子查询 returns 它没有'不知道您想要检索整个顶点)。
对此我真的很纳闷。 为什么这样做:
SELECT out('Posted').out('IsFromCategory') FROM #18:1
而这不是:
SELECT out('IsFromCategory') FROM (SELECT out('Posted') FROM #18:1)
这不是我真正的逻辑,而是我在做一些测试时想出来的...
如您所知,您需要在子查询中使用 expand
,因此它看起来像
SELECT out('IsFromCategory') FROM (SELECT expand(out('Posted')) FROM #18:1)
这就像没有expand
returns @rid
列表的子查询,所以select 没有任何内容,而扩展后得到一个列表使用整个实体(顶点),您可以从中遍历它们具有的任何边。
(不确定为什么这与您的第一个查询的行为不同。可能是因为第一个是一个查询并且您明确要求遍历,而第二个是两个查询并且当子查询 returns 它没有'不知道您想要检索整个顶点)。