Coalesce adalah fungsi MySQL yang berguna yang secara otomatis mengembalikan nilai non-null pertama dari daftar nilai. Nilai-nilai ini dapat diberikan menggunakan literal, nama kolom, atau fungsi MySQL lainnya. Pada artikel ini, kita akan melihat cara menggunakan Coalesce di MySQL.
Cara Menggunakan Coalesce di MySQL
Berikut langkah-langkah menggunakan COALSCE di MySQL
Apa itu COALESCE di MySQL
Fungsi COALESCE mengembalikan nilai non NULL pertama dari daftar nilai. Jika semua nilai dalam daftar adalah NULL, maka ia mengembalikan NULL. Berikut adalah sintaks fungsi Coalesce di MySQL.
select coalesce(value1, value2, ..., valuen) from table_name;
Dalam pernyataan di atas, Anda perlu menentukan nama tabel, dan memberikan daftar nilai yang dipisahkan koma.
Berikut adalah beberapa contoh sederhana untuk menunjukkan fungsionalitas COALESCE.
mysql> select coalesce(NULL, 2, 3); +----------------------+ | coalesce(NULL, 2, 3) | +----------------------+ | 2 | +----------------------+ mysql> select coalesce(NULL, NULL); +----------------------+ | coalesce(NULL, NULL) | +----------------------+ | NULL | +----------------------+
Mengapa COALESCE digunakan di MySQL
COALESCE digunakan di MySQL untuk mengganti nilai null dengan beberapa string lain pilihan Anda. Ini sangat berguna untuk pelaporan dan analitik di mana Anda tidak ingin mengubah data sebenarnya tetapi perlu melaporkannya dengan cara yang berbeda.
Katakanlah Anda memiliki tabel berikut penjualan(id, produk, tanggal_pesanan, jumlah) yang berisi nilai nol.
mysql> create table sales(id int, product varchar(5), order_date date, amount int); mysql> insert into sales(id, product, order_date, amount) values(null, 'A','2020-01-01',150), (2, null,'2020-01-01',150), (null, 'C',null,150), (4, 'D','2020-01-01',null); mysql> select * from sales; +------+---------+------------+--------+ | id | product | order_date | amount | +------+---------+------------+--------+ | NULL | A | 2020-01-01 | 150 | | 2 | NULL | 2020-01-01 | 150 | | NULL | C | NULL | 150 | | 4 | D | 2020-01-01 | NULL | +------+---------+------------+--------+
Sekarang kita akan menggunakan COALESCE untuk mendapatkan nilai non-null pertama dari setiap baris.
mysql> select coalesce(id, product, order_date, amount) from sales; +-------------------------------------------+ | coalesce(id, product, order_date, amount) | +-------------------------------------------+ | A | | 2 | | C | | 4 | +-------------------------------------------+
Seperti yang Anda lihat, COALESCE mengembalikan nilai bukan nol dari setiap baris.
Anda juga dapat menggunakan fungsi COALESCE untuk mengganti nilai null dengan string khusus. Pada contoh berikut, kita akan mengganti setiap nilai null dengan string 'NA' menggunakan COALESCE.
mysql> select coalesce(id, 'NA') id, coalesce(product,'NA') product, coalesce(order_date,'NA') order_date, coalesce(amount,'NA') amount from sales; +------+---------+------------+--------+ | id | product | order_date | amount | +------+---------+------------+--------+ | NA | A | 2020-01-01 | 150 | | 2 | NA | 2020-01-01 | 150 | | NA | C | NA | 150 | | 4 | D | 2020-01-01 | NA | +------+---------+------------+--------+
COALESCE vs IFNULL MySQL
Meskipun IFNULL juga dapat digunakan untuk menggantikan nilai NULL, IFNULL hanya dapat menerima 2 argumen, mengembalikan argumen pertama jika nol, jika tidak mengembalikan argumen kedua. COALESCE bekerja dengan sejumlah argumen, bukan hanya dua.
COALESCE di Ubiq
Alat Pelaporan Ubiq mendukung semua kueri SQL di atas dan memudahkan untuk memvisualisasikan hasil SQL dengan cara yang berbeda. Berikut adalah query SQL COALESCE yang disebutkan di atas, di Ubiq.
Butuh alat pelaporan untuk MySQL? Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari Ini!