
Pernyataan kasus adalah kombinasi dari pernyataan if-else dan mengembalikan output sesuai dengan kondisi. Artikel ini membantu Anda memahami cara kerja pernyataan kasus di MySQL.
Apa pernyataan kasus di MySQL?
Di MySQL, pernyataan kasus digunakan untuk mengimplementasikan logika if-else. Kami akan memahami useran pernyataan kasus dengan membuat berbagai jenis skenario, tetapi sebelum melakukannya, buka terlebih dahulu MySQL di terminal Ubuntu.
$ sudo mysql
Buka tabel tertentu di database apa pun dan tampilkan daftar database:
SHOW DATABASES;
Buka database “shopping_mart_data”:
USE shopping_mart_data;
Untuk membuat daftar semua tabel yang ada dalam database ini.
SHOW TABLES;
Buka tabel Grocery_bill dan lihat isinya:
SELECT * FROM Grocery_bill;
Sekarang kita akan memahami useran pernyataan kasus dengan menerapkan kasus yang berbeda ke tabel ini.
Cara menggunakan pernyataan kasus di MySQL
Kita dapat menggunakan pernyataan kasus untuk melakukan semua jenis survei. Katakanlah kita ingin melakukan survei bahwa banyak pelanggan yang suka makan sayur. Atas dasar belanja sayuran, kami hanya membuat kasus bahwa mereka yang membeli sayuran harus disebut vegetarian. Untuk tujuan ini, kami membuat kasus seperti ini:
SELECT CustomerName, Vegetables,
CASE
WHEN Vegetables > 0 THEN "Customer is a vegetarian"
ELSE "Customer is a non-vegetarian"
END
FROM Grocery_bill;
Kami akan menyimpan kode dalam file, bernama file.sql.
Sekarang login ke MySQL dan buka file.sql menggunakan perintah sumber:
$ source file.sql
Pada output ini kita dapat melihat bahwa telah ditampilkan hasil pelanggan dengan nama pelanggan, jumlah s
ayuran, dan dengan hasil kasus yang dibuat apakah mereka vegetarian atau tidak.
Jika kita menyimpulkan skenario ini dan membuat sintaks umum dari kasus yang dapat digunakan dalam skenario yang terkait dengan yang dibahas di atas maka akan menjadi seperti
SELECT Parameter, (IF USING more than one parameter THEN used comma BETWEEN them)
CASE
WHEN (condition) THEN (action)
ELSE (action)
END
FROM (TABLE_NAME);
Kita dapat merepresentasikan nilai yang menunjukkan tabel dengan menggunakan pernyataan kasus. Misalnya, kami memiliki kolom jenis kelamin di tabel yang nilainya “m” dan “f” yang masing-masing menunjukkan jenis kelamin pria dan wanita. Untuk mengubah huruf-huruf ini menjadi nama sebenarnya daripada denotasi menggunakan pernyataan kasus, kita dapat mengeksekusi kode berikut.
SELECT CustomerName, Gender,
CASE Gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
END
FROM Grocery_bill;
Modifikasi dalam tabel menggunakan pernyataan kasus
Kita juga dapat mengubah nilai kolom tabel dengan menggunakan pernyataan kasus. Untuk memahaminya kita akan melakukan modifikasi pada tabel dan akan mengganti denotasi yang digunakan pada kolom ‘Jenis Kelamin’ dengan kata sebenarnya yang berarti “Pria” dan “Wanita”, bukan “M” dan “F”. untuk tujuan ini kodenya adalah
UPDATE Grocery_bill
SET Gender = CASE Gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
END;
Untuk melihat perubahan pada tabel kita akan menampilkan tabel tersebut dengan menggunakan perintah :
SELECT * FROM Grocery_bill;
Output harus menampilkan tabel dengan perubahan di kolom Gender.
Pernyataan CASE dengan operator perbandingan
Kita juga dapat menggunakan pernyataan kasus untuk tujuan perbandingan menggunakan operator matematika. Untuk memahami hal ini, mari kita asumsikan bahwa kita ingin memberikan voucher diskon kepada pelanggan yang berbelanja lebih dari 12 item. Mari kita menulis kode untuk itu.
SELECT CustomerName,
CASE
WHEN Chips + SoftDrinks + Vegetables > 12 THEN "Congrats you won a voucher"
ELSE "Sorry, Try next time"
END
FROM Grocery_bill;
Kesimpulan
Pernyataan kasus banyak membantu kita dalam mengambil hasil spesifik dari sebuah tabel, yang terdiri dari sejumlah besar entri, kita cukup membuat kasus dan hasilnya dapat diurutkan berdasarkan kondisi kasus yang ditentukan. Meskipun ada beberapa batasan dalam menggunakan pernyataan kasus seperti pernyataan kasus tidak digunakan untuk memeriksa nilai NULL dari tabel dan juga, ini adalah model sekuensial yang berarti jika kasus menjadi benar tidak akan mengeksekusi kondisi lebih lanjut dan akan mengakhiri kasus. Meskipun pernyataan kasus memberikan kemudahan dalam menulis kode yang berbeda dari T-SQL(Transact – SQL) untuk DML (Data Manipulation Language). Dalam penulisan ini, kami mencoba menjelaskan useran pernyataan kasus dengan mempertimbangkan skenario yang berbeda dan menerapkan pernyataan kasus kepada mereka sehingga akan mudah untuk memahami pernyataan kasus di MySQL.