Array

UNNEST

PostgreSQLPostgreSQL

Mengekspansi array menjadi set of rows. Setiap elemen array menjadi satu baris. Dengan multiple arrays, ekspansi secara paralel.

Tipe hasil: setof anyelement

Syntax

SQL
UNNEST(array)
UNNEST(array1, array2, ...)

Parameter

arrayanyarraywajib

Array yang akan diekspansi

Contoh Penggunaan

Ekspansi Array

SQL
1SELECT UNNEST(ARRAY[a, b, c]);

Mengubah array menjadi rows.

Hasil
unnest
a
b
c

Dengan Ordinality

SQL
1SELECT idx, element
2FROM UNNEST(ARRAY[first, second, third])
3 WITH ORDINALITY AS t(element, idx);

Menambahkan index ke setiap element.

Hasil
idxelement
1first
2second
3third

Join Array Column

SQL
1SELECT
2 p.name,
3 t.tag
4FROM products p
5CROSS JOIN UNNEST(p.tags) AS t(tag)
6WHERE t.tag = featured;

Mencari produk dengan tag tertentu menggunakan UNNEST.

Multiple Arrays

SQL
1SELECT * FROM UNNEST(
2 ARRAY[1, 2, 3],
3 ARRAY[a, b, c]
4) AS t(num, letter);

Ekspansi multiple arrays secara paralel.

Hasil
numletter
1a
2b
3c