Sebenarnya ini kuno sintaks untuk CROSS JOIN. Setara formal:
SELECT
t.json_column->>'x',
nested->>'y'
FROM
my_table t
CROSS JOIN
json_array_elements(t.json_column->'nested') nested;
Kueri tidak menghasilkan produk kartesius tetapi bertindak seperti gabungan dalam. Ini karena memiliki tersembunyi referensi antara dua bagian join, dalam hal ini alias t
. Penggabungan semacam ini dikenal sebagai LATERAL JOIN
. Untuk dokumentasi
:
Jika salah satu bagian dari gabungan adalah fungsi, maka secara default diperlakukan sebagai lateral.