Faktisk er dette gammeldags syntaks for CROSS JOIN. Formel ækvivalent:
SELECT
t.json_column->>'x',
nested->>'y'
FROM
my_table t
CROSS JOIN
json_array_elements(t.json_column->'nested') nested;
Forespørgslen producerer ikke kartesisk produkt, men fungerer snarere som en indre sammenføjning. Dette er fordi den har en skjult reference mellem to dele af join, i dette tilfælde alias t
. Denne type join er kendt som LATERAL JOIN
. For dokumentationen
:
Hvis en af delene af en sammenføjning er en funktion, behandles den som lateral som standard.