Array

UNNEST

PostgreSQLPostgreSQL

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

Tipe hasil: setof anyelementDiperbarui: 16 Mei 2026

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

Pertanyaan Umum tentang UNNEST

Apa itu fungsi UNNEST di PostgreSQL?
Mengekspansi array menjadi set of rows. Setiap elemen array menjadi satu baris. Dengan multiple arrays, ekspansi secara paralel. Di PostgreSQL, fungsi UNNEST termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan UNNEST di PostgreSQL?
Gunakan sintaks berikut: UNNEST(array) UNNEST(array1, array2, ...). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi UNNEST?
Fungsi UNNEST mengembalikan nilai bertipe setof anyelement. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi UNNEST?
Fungsi ini memiliki 1 parameter wajib. Parameter yang digunakan: array (anyarray, wajib): Array yang akan diekspansi.