Menggunakan Klausa IF dalam perintah SQL
23 November 2014 |
Dalam merancang tabel database, kita mungkin akan membuat kode mnemonic untuk kolom/atribut tertentu dengan tujuan biar mudah diingat. Kode mnemonic dibuat dengan dasar singkatan atau mengambil sebagian karakter dari item yang akan diwakili dengan kode ini. Manfaatnya adalah gampang diingat, kapasistas penyimpanan lebih kecil, dan konsistensi terjaga. Contoh untuk kolom jenis kelamin,bisa dibuatkan kodenya dengan : 1 atau L untuk Laki, 2 atau P untuk Perempuan.
Lalu bagaimana dalam penyajian data jika orang belum mengerti kode 1,2,P,atau L? Itu dapat dilakukan dengan 2 cara yaitu : membuatkan perintah di script (bahasa pemrograman) atau di query SQL itu sendiri dengan membuat atribut turunan (atribut yang nilainya bisa dihasilkan/diturunkan dari atribut lain).
Dalam tutorial ini saya akan coba menggunakan klausa IF dalam perintah SQL dengan menggunakan database MySQL. Sebelumnya kita asumsikan atau persiapkan tabel biodata sebagai berikut :
Dari tabel diatas kita menggunakan kode mnemonic 1 untuk jenis kelamin Laki, dan 2 untuk jenis kelamin Perempuan. Selanjutnya adalah membuat query SQL untuk manipulasi kode mnemonic tersebut. MySQL menyediakan klausa IF untuk hal tersebut.
Bentuk Ekspresi menggunakan klausa IF dalam perintah SQL :
IF(kondisional,expr_true,expr_false)
Name | Description | Return Type |
---|---|---|
expr | Bentuk ekpresi, kondisional | |
expr_true | Nilai jika kondisional bernilai TRUE. | Bisa bertipe : string, float, integer |
expr_false | Nilai jika kondisional bernilai TRUE. | Bisa bertipe : string, float, integer |
Dengan demikian kita bisa membuat sintaknya sebagai berikut
IF(jns_kelamin='1','Laki','Perempuan')
Jika jns_kelamin bernilai 1, maka Laki, selain itu perempuan. Adapun bentuk perintah selengkapnya dalam query SQL adalah sebagi berikut
Dengan perintah tersebut akan dihasilkan data seperti diatas. JK adalah atribut turunan dari jns_kelamin. Untuk ditampilkan dengan PHP, bisa dilakukan dengan memanggil nama atribut turunan tersebut misalnya: $row[‘jk’].
Semoga bermanfaat.
Komentar tentang Menggunakan Klausa IF dalam perintah SQL
Mohon bantuannya, kalau kita sudah punya tabelnya dan kita ingin memasukkan data menggunakan if yang lebih dari satu itu pakai cara apa ya?
Saya sudah nyoba pakai IF(kondisi1,nilai_kondisi1,IF(kondisi2,nilai_kondisi2,IF(kondisi3,nilai_kondisi3,nilai_kondisi_lain))) malah membuat kolom tabel baru dan kolom tabel yang sudah dibuat sebelumnya jadi (NULL). Jadi hasilnya ada 2 nama kolom tabel yang sama tapi isinya null dan hasil if.
Saya juga sudah mencoba menghilangkan kolom dan mencoba langsung menggunakan rumus tadi malah jadi error.
Mohon dibantu
Terimakasih….
itu mungkin cocoknya pakai fasilitas Trigger. Di sini IF untuk membuat atribut turunan saja.