Fungsi COALESCE
di PostgreSQL digunakan untuk mengembalikan nilai non-null pertama dari daftar argumen yang diberikan. Jika semua argumen adalah null, maka COALESCE
akan mengembalikan null.Berikut adalah beberapa contoh penggunaan COALESCE
:
students
dengan kolom first_name
, middle_name
, dan last_name
. Kita ingin menampilkan nama lengkap dari setiap siswa, tetapi jika middle_name
adalah null, kita ingin melewatkannya.SELECT
first_name,
COALESCE(middle_name, '') AS middle_name,
last_name
FROM
students;
employees
dengan kolom first_name
, last_name
, dan nickname
. Kita ingin menampilkan nama panggilan jika ada, atau nama depan jika tidak ada nama panggilan.SELECT
COALESCE(nickname, first_name) AS display_name
FROM
employees;
sales
dengan kolom product_id
dan sales_amount
. Kita ingin menghitung total penjualan untuk setiap produk, tetapi jika tidak ada penjualan untuk produk tertentu, kita ingin menampilkan 0.SELECT
product_id,
COALESCE(SUM(sales_amount), 0) AS total_sales
FROM
sales
GROUP BY
product_id;
orders
dan customers
. Kita ingin menampilkan semua pesanan dan nama pelanggan, tetapi jika tidak ada pelanggan yang cocok, kita ingin menampilkan 'Unknown Customer'.SELECT
orders.order_id,
COALESCE(customers.customer_name, 'Unknown Customer') AS customer_name
FROM
orders
LEFT JOIN
customers ON orders.customer_id = customers.customer_id;
products
dengan kolom price
dan discount
. Kita ingin menghitung harga akhir dengan memperhitungkan diskon, tetapi jika diskon tidak ada, kita anggap diskon adalah 0.SELECT
product_id,
price,
COALESCE(discount, 0) AS discount,
price - COALESCE(discount, 0) AS final_price
FROM
products;
COALESCE
sangat berguna untuk menangani nilai null dalam berbagai situasi dan dapat digunakan dalam berbagai jenis query untuk memastikan bahwa nilai yang dihasilkan sesuai dengan kebutuhan Anda.