mysql2

Penggunaan Case dan IF di SQL

Hal yang kecil sering kali terlupakan, ini salah satunya…

PENGGUNAAN CASE

Perintah CASEsering digunakan untuk menampilkan nilai tertentu dari beberapa barisan data dengan syarat-syarat atau kondisi yang kita berikan.

Kalau kita belajar bahasa pemrograman tentu kita kenal dengan perintah IF Condition, fungsinya CASE hampir sama. Bedanya perintah CASE digunakan untuk beberapa kondisi sekaligus, dan didalam SQL perintah CASE tidak bisa berdiri sendiri melainkan harus disisipkan dalam perintah SELECT. Jadi berbeda dengan perintah IF yang lebih bebas, akan tetapi perintah IF hanya berguna apabila dimasukan dalam STORE PROCEDURE, FUNCTION dan TRIGGER. Perbedaannya dalam SQL sangat jelas sekali, karena perintah CASE disisipkan dalam perintah SELECT jadi yang dihasilkan langsung berupa DATASET dan langsung bisa dilihat hasilnya.

Perintah CASE ini mempunyai dua format :

  • Simple Case function :

Maksudnya adalah perintah CASE sederhana. Bentuk Sintaknya:

CASE input_expression 
 WHEN when_expression THEN result_expression 
 [ ...n ]
[
 ELSE else_result_expression 
 ]
 END

Contoh penerapan:

SELECT nama, CASE alamat
   WHEN 'PMK' THEN 'PAMEKASAN'
   WHEN 'SMP' THEN 'SAMPANG'
   ELSE alamat END AS kota_lahir
   FROM tbmhs

  • Searched CASE function:

Maksudnya perintah CASE ini diikuti dengan syarat kondisi boolean, seperti >, <, >=, <= , dan lain-lain. Sintaknya sebagai berikut:

CASE WHEN Boolean_expression THEN result_expression  [ ...n ] [ ELSE else_result_expression  ] END 

Conto Penggunaan:

SELECT nim, ipk, CASE
WHEN ipk >3.50 THEN 'Lulus Istimewa'
WHEN ipk >2.75 THEN 'Lulus Sangat Memuaskan'
WHEN ipk >=2.00 THEN 'Lulus Memuaskan'
END AS Kelulusan from tbipk
 

PENGGUNAAN IF

Fungsi If adalah salah satu fungsi untuk mengetes suatu kondisi. Jika kondisi bernilai benar(kondisi <> 0 dan kondisi <> NULL), maka fungsi IF akan mengembalikan nilai_benar, jika tidak benar maka akan mengembalikan nilai_salah.

Syntax:

IF(kondisi,nilai_benar,nilai_salah)

Contoh Penggunaan :

SELECT IF (1 < 2, "Benar", "Salah");

SELECT IF (1 > 2, "Benar", "Salah");

 

 

Share

5 thoughts on “Penggunaan Case dan IF di SQL

Leave a Reply

Your email address will not be published. Required fields are marked *