Steffen: Frage zu "unnest"

Beitrag lesen

Hi,

kann mir jemand erklären oder Hinweise geben, wieso das Verhalten der folgenden 2 Queries so ist, wie es ist?

select unnest(array[1,2]), unnest(array[3,4]);
 unnest | unnest
--------+--------
      1 |      3
      2 |      4
(2 Zeilen)

select unnest(array[1,2]), unnest(array[3,4,5]);
 unnest | unnest
--------+--------
      1 |      3
      2 |      4
      1 |      5
      2 |      3
      1 |      4
      2 |      5
(6 Zeilen)

Ich hätte erwartet, dass ich entweder im 1. Fall 4 Zeilen, bzw. im 2. Fall nur 3 Zeilen erhalte.

Warum werden im 2. Fall alle Möglichkeiten aufgelöst und warum im 1. nicht?

Grüße

  • Steffen

PS: Postgres