Pada kesemapatan kali ini kita akan mengenal dan bagaimana cara menggunakan MySQL IF Function, MySQL IF function adalah salah satu kontrol aliran MySQL yang mengembalikan nilai berdasarkan kondisi. IF Function pada umumnya disebut sebagai IF ELSE atau IF THEN ELSE function. sintaks penulisan MysQL IF Function seperti dibawah ini:
|
IF(expr,if_true_expr,if_false_expr)
|
Keterangan
IF Function akan mengembalikan numerik atau string, tergantung pada bagaimana menggunakannya. pada penulisan diatas expr pertama ditulis dengan if_true_expr dan kedua ditulis denganif_false_expr
Harap berhati-hati ketika anda menggunakan sintaks diatas diharapkan jangan pernah kebalik untuk penulisan IF function dengan pernyataan IF.
Contoh MySQL IF Function
Untuk lebih jelas tentang MySQL IF Function kita akan belajar dengan membuat beberapa istilah untuk mempermudah dan memahami tutorial ini:
Contoh Sederhana MySQL IF Function
Anda dapat menggunakan langsung IF Function dalam pernyataanSELECT tanpa FROM dan klausa lainnya, lihat penulisan sintaks berikut:
|
SELECT IF(1 = 2,'true','false'); -- false
SELECT IF(1 = 1,' true','false'); -- true
|
Contoh Menampilkan MySQL IF Function menggunakan N / A dan NULL
Banyak user yang tidak memiliki data negara dalam kolom karena itu ketika kita memilih user pada kolom negara akan menampilkan nilai-nilai NULL yang tidak mempunyai makna untuk tujuan pelaporan. sebagai contoh Lihat query berikut:
|
SELECT customerNumber,
customerName,
state,
country
FROM customers;
|
Akan terlihat seperti gambar ini
Kita dapat mengganti dan meningkatkan output dengan menggunakan
IF function untuk menghilangkan N / A dalam query, berikut ini sintaks pernyataan yang harus anda ketahui:
|
SELECT customerNumber,
customerName,
IF(state IS NULL,'N/A',state) state,
country
FROM customers;
|
Lihat gambar hasil dari sintaks diatas
Cara Menggabungkan IF Function dengan SUM Function
Misalnya jika Anda ingin tahu berapa banyak yang dikirim dan banyak pembatalan pesanan sepanjang waktu, Anda dapat menggunakan IF Function dengan SUM agregat Function, sebagai berikut:
|
SELECT SUM(IF(status = 'Shipped',1,0)) AS Shipped,
SUM(IF(status = 'Cancelled',1,0)) AS Cancelled
FROM orders;
|
Dalam pertanyaan diatas, jika urutan status Shipped atau Cacelled, IF Function akan mengembalikan pada nilai 1 jika tidak maka kembali ke nilai 0. SUM function akan menghitung jumlah yang dikirimkan dan yang dibatalkan berdasarkan perintah nilai kembali dari IF function.
Cara Menggabungkan IF Function dengan COUNT Function
Pertama, kita pilih status semua pesanan dalam tabel order dengan menggunakan query berikut:
|
SELECT DISTINCT status
FROM orders
ORDER BY status;
|
Kedua, kita bisa mendapatkan jumlah pesanan di setiap status dengan menggabungkan IF function dengan COUNT function. Karena COUNT function tidak dihitung untuk nilai NULL.
Lihat query berikut:
|
SELECT COUNT(IF(status = 'Cancelled',1,NULL)) Cancelled,
COUNT(IF(status = 'Disputed',1,NULL)) Disputed,
COUNT(IF(status = 'In Process',1,NULL)) 'In Process',
COUNT(IF(status = 'On Hold',1,NULL)) 'On Hold',
COUNT(IF(status = 'Resolved',1,NULL)) 'Resolved',
COUNT(IF(status = 'Shipped',1,NULL)) 'Shipped'
FROM orders;
|
Anda dapat mencapai hasil yang serupa dengan menggunakan klausa GROUP BY dan COUNT function tanpa menggunakan IF function sebagai query, berikut ini cara penulisannya:
|
SELECT status, COUNT(STATUS)
FROM orders
GROUP BY status
|
Sumber:http://remotemysqlhosting.com/tutorial-mysql-tingkat-lanjut/apakah-mysql-if-function-dan-cara-menggunakan.html
Belum ada tanggapan untuk "Cara Menggunakan MySQL IF Function"
Post a Comment