我注意到当对包含嵌套或重复数据的表执行 LIMIT 查询时,它们返回的行数将超过预期的行数。例如,针对开发人员指南中的个人样本数据集运行以下查询会产生以下结果:
% bq query 'SELECT fullName, children.name FROM [persons.person] LIMIT 1'
+----------+---------------+
| fullName | children_name |
+----------+---------------+
| John Doe | Jane |
| John Doe | John |
+----------+---------------+
看起来 BQL 在展平结果之前应用了 LIMIT 运算符,而不是相反(我认为这更有意义)。
这是 BQL 实现中的错误还是预期的行为?如果这是预期的行为,有人可以解释为什么这是有意义的吗?