
# UNNEST
UNNEST可以将ARRAY或MAP展开成relation。
ARRAYS展开为单独一列，MAP展开为两列（key，value）。
UNNEST还可以与多个参数一起使用，将被展开成多列，行数与最高基数参数相同（其他列用空填充）。
UNNEST可以选择使用WITH ORDINALITY子句，在这种情况下，会在末尾添加一个额外的ORDINALITY列。
UNNEST通常与JOIN一起使用，可以引用JOIN左侧关系中的列。
- 使用单独一列
  ```
  SELECT student, score FROM tests CROSS JOIN UNNEST(scores) AS t (score);
  ```
  

- 使用多个列
  ```
  SELECT numbers, animals, n, a
  FROM (
  VALUES
  (ARRAY[2, 5], ARRAY['chicken', 'cat', 'bird']),
  (ARRAY[7, 8, 9], ARRAY['cow', 'fish'])
  ) AS x (numbers, animals)
  CROSS JOIN UNNEST(numbers, animals) AS t (n, a);
  ```
  
 
