Sql 对UNNEST的订购保证

Sql 对UNNEST的订购保证,sql,postgresql,Sql,Postgresql,我对UNNEST(some_array))的排序保证有点困惑。我读过不同的文章,其中提到Postgres不能保证输入和输出的顺序是相同的 例如,在这个查询上选择unest(数组[1,2,3]),unest(数组[4,5,6])输出为: orestis=# select unnest(array[1, 2, 3]), unnest(array[4, 5, 6]); unnest | unnest --------+-------- 1 | 4 2 |

我对
UNNEST(some_array))
的排序保证有点困惑。我读过不同的文章,其中提到Postgres不能保证输入和输出的顺序是相同的

例如,在这个查询
上选择unest(数组[1,2,3]),unest(数组[4,5,6])输出为:

orestis=# select unnest(array[1, 2, 3]), unnest(array[4, 5, 6]);
 unnest | unnest
--------+--------
      1 |      4
      2 |      5
      3 |      6
(3 rows)
这也是一种可能的结果吗

orestis=# select unnest(array[1, 2, 3]), unnest(array[4, 5, 6]);
 unnest | unnest
--------+--------
      1 |      5
      2 |      4
      3 |      6
(3 rows)
有趣。报告解释说:

阵列的元素按存储顺序读取

这意味着两者是一致的

相反,我建议:

select *
from unnest(array[1, 2, 3], array[4, 5, 6]);
多参数表单将值对齐