SQL IF Statement: Fungsi, Cara, dan Contohnya

SQL IF statement tidak berlaku di semua database management system. DBMS apa saja yang compatible dan bagaimana contoh penulisan syntax-nya?
Bobby Christian
June 23, 2023
6
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

Walaupun SQL IF statement secara penulisan mudah dan tidak memiliki struktur sekompleks Case-When, penggunaan fungsi ini tidaklah scalable dan hanya terdapat di beberapa database tertentu saja.

Dalam sebuah pemrograman, kita terkadang membutuhkan sebuah fungsi yang menampilkan logika tertentu apabila dijalankan. Dalam membangun sebuah logika pemrograman, tidak jarang kita kesulitan menyesuaikan kondisi yang ada pada dunia nyata.

Oleh karena itu, pada tiap bahasa pemrograman, kita mengenal beberapa fungsi yang digunakan untuk menyatakan sebuah kondisi dari sebuah data. Kita menggunakan fungsi kondisi untuk mengelompokkan data yang sifatnya sama, ataupun jatuh pada kategori tertentu. 

Dengan adanya fungsi kondisi tersebut, kita dapat mengelompokkan beberapa data menjadi sebuah kategori, dan mempermudah data analyst untuk mencari data dengan kriteria yang diinginkan. 

Apa itu IF Statement di SQL?

Sama seperti bahasa pemrograman pada umumnya, SQL pun memiliki fungsi yang dapat digunakan untuk menyatakan kondisi, yakni IF statement. Fungsi IF ini digunakan untuk mengecek kondisi suatu data. 

Apabila data tersebut memenuhi syarat yang telah ditetapkan, maka kita akan menuliskan kondisi True sedangkan apabila tidak memenuhi, maka kita akan menuliskan kondisi False.

Namun perlu dicatat bahwa tidak semua database management system (DBMS) memiliki fungsi IF ini. DBMS yang memiliki fungsi ini beberapa di antaranya adalah MSSQL Server dan MariaDB, selain itu, DBMS yang lain tidak memiliki fungsi IF

Pada beberapa DBMS lain, apabila kita ingin menggunakan fungsi logika seperti IF, kita dapat menggunakan salah satu fungsi bawaan SQL yang umum, yaitu CASE - WHEN. Pada logika pemrograman Case-When, kita memiliki struktur seperti berikut ini: 

Berikut contoh penulisan untuk logika Case-When : 

Pada pemrograman Case-When, kita dapat menempatkan statement setelah kata WHEN, lalu hasilnya setelah kata THEN. Pada pemrograman menggunakan IF statement, kita memiliki struktur yang serupa, yaitu: 

Secara sekilas, bentuk penulisan query untuk IF statement mirip dengan IF statement yang biasa kita tuliskan pada Microsoft Excel ataupun Google Sheet. Setelah ini, kita akan mencoba bagaimana menerapkan fungsi kondisi IF dalam pemrograman SQL. 

Bahasa SQL yang akan kita gunakan pada contoh dalam konten ini adalah bahasa SQL yang digunakan pada MariaDB. Kita akan mencoba untuk mengeluarkan nilai dari sebuah kondisi True dengan menggunakan query berikut ini:

Apa yang terjadi pada query di atas? Kita menuliskan sebuah statement bahwa 500 < 1000. Secara perhitungan matematis, kita mengetahui bahwa nilai 500 pasti lebih kecil dari 1000, oleh karena itu statement tersebut akan selalu bernilai benar untuk semua kondisi apapun.

Oleh karena itu, IF statement akan menjalankan dan mengeluarkan output kondisi True. Begitupun sebaliknya, apabila statement yang kita berikan akan bernilai selalu salah, maka kondisi False pun yang akan dikeluarkan sebagai output oleh SQL. Perhatikan contohnya berikut ini: 

Pada contoh di atas, kita melihat bahwa kita memberikan statement yaitu 1500 < 1000. Secara matematis, hal ini akan selalu dianggap salah, karena kita tahu bahwa 1500 lebih besar daripada 1000, dan pernyataan 1500 < 1000 akan selalu bernilai salah. Oleh karena itu, SQL akan mengeluarkan output dengan kondisi False.

{{COMPONENT_IDENTIFIER}}

Selain digunakan untuk menjalankan dan mengecek sebuah statement, kita bisa mengkombinasikan penggunaan logika IF ini dengan sebuah table pada database

Sebelum kita mulai mengkombinasikan penggunaan logika IF ini dengan database, kita akan melihat dulu isi database demo yang dimiliki oleh MariaDB ini. Perhatikan gambar berikut ini: 

Kita akan mencoba untuk menjalankan logika berikut: Apabila nomor pada kolom id bernilai genap, maka kita akan menampilkan sebuah kolom baru yang bertuliskan “id_genap”, sedangkan apabila nomor pada kolom id bernilai ganjil, maka kita akan menampilkan sebuah kolom baru yang bertuliskan “id_ganjil”. 

Berikut query yang akan kita gunakan untuk menampilkan hasil tersebut: 

Perhatikan query di atas. Pada penulisan IF statement di atas, kita akan mengecek apakah nilai id apabila dibagi 2, menghasilkan sisa bagi 0. Tanda ‘%’ merupakan operator modulus, yang digunakan untuk mengecek hasil bagi dari sebuah angka. 

Kita tahu bahwa nilai angka genap dapat dibagi dengan 2, sehingga tidak memiliki sisa, sedangkan angka ganjil apabila dibagi dengan 2, akan menghasilkan sisa 1. 

Kita akan memanfaatkan fungsi ini untuk memisahkan nilai ganjil dan genap. Apabila statement tersebut bernilai benar, atau nilai statementnya adalah 0, maka id_genap akan ditampilkan sesuai dengan kriteria True, sedangkan apabila tidak bernilai 0, maka id_ganjil yang akan ditampilkan sesuai dengan kriteria False. Perhatikan aplikasinya pada pemrograman SQL berikut ini: 

Dapat kita lihat pada contoh di atas, bahwa muncul kolom baru, yaitu kriteria_kolom yaitu merupakan kolom yang berisi logika IF statement, yang sudah berisi nilai “id_ganjil” dan “id_genap”. 

Sesuai dengan yang telah dijelaskan sebelumnya, dengan logika IF statement, kita dapat dengan tepat memasangkan nomor id ganjil dan genap sesuai dengan labelnya pada kolom kriteria_kolom. 

Penutup

Kita mengenal satu lagi fungsi kondisi yang ada pada SQL, yaitu IF statement, yang secara fungsi dapat digunakan untuk memetakan sebuah statement apakah bernilai True atau False

Namun perlu diingat bahwa tidak semua DBMS memiliki fungsi kondisi IF statement, dan fungsi IF statement ini hanya ada di beberapa DBMS tertentu saja. 

Walaupun secara penulisan mudah dan tidak memiliki struktur yang kompleks seperti penggunaan Case-When, perlu diingat bahwa penggunaan fungsi ini tidaklah scalable dan hanya terdapat di beberapa database tertentu saja. 

Oleh karena itu, ada baiknya kita mempelajari konsep fungsi ini agar suatu ketika kita perlu menggunakan sebuah database yang memiliki fungsi IF statement, kita sudah dapat mengoperasikannya. 

Bobby Christian
Bobby is a BI Analyst at FnB company. Is an enthusiast in the Data Industry, having some experience in Data Scientist, Data Engineer, and BI Analyst.

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Daftar Isi

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?

SQL IF Statement: Fungsi, Cara, dan Contohnya

SQL IF statement tidak berlaku di semua database management system. DBMS apa saja yang compatible dan bagaimana contoh penulisan syntax-nya?
Bobby Christian
June 23, 2023
6
min read

Overview

Walaupun SQL IF statement secara penulisan mudah dan tidak memiliki struktur sekompleks Case-When, penggunaan fungsi ini tidaklah scalable dan hanya terdapat di beberapa database tertentu saja.

Dalam sebuah pemrograman, kita terkadang membutuhkan sebuah fungsi yang menampilkan logika tertentu apabila dijalankan. Dalam membangun sebuah logika pemrograman, tidak jarang kita kesulitan menyesuaikan kondisi yang ada pada dunia nyata.

Oleh karena itu, pada tiap bahasa pemrograman, kita mengenal beberapa fungsi yang digunakan untuk menyatakan sebuah kondisi dari sebuah data. Kita menggunakan fungsi kondisi untuk mengelompokkan data yang sifatnya sama, ataupun jatuh pada kategori tertentu. 

Dengan adanya fungsi kondisi tersebut, kita dapat mengelompokkan beberapa data menjadi sebuah kategori, dan mempermudah data analyst untuk mencari data dengan kriteria yang diinginkan. 

Apa itu IF Statement di SQL?

Sama seperti bahasa pemrograman pada umumnya, SQL pun memiliki fungsi yang dapat digunakan untuk menyatakan kondisi, yakni IF statement. Fungsi IF ini digunakan untuk mengecek kondisi suatu data. 

Apabila data tersebut memenuhi syarat yang telah ditetapkan, maka kita akan menuliskan kondisi True sedangkan apabila tidak memenuhi, maka kita akan menuliskan kondisi False.

Namun perlu dicatat bahwa tidak semua database management system (DBMS) memiliki fungsi IF ini. DBMS yang memiliki fungsi ini beberapa di antaranya adalah MSSQL Server dan MariaDB, selain itu, DBMS yang lain tidak memiliki fungsi IF

Pada beberapa DBMS lain, apabila kita ingin menggunakan fungsi logika seperti IF, kita dapat menggunakan salah satu fungsi bawaan SQL yang umum, yaitu CASE - WHEN. Pada logika pemrograman Case-When, kita memiliki struktur seperti berikut ini: 

Berikut contoh penulisan untuk logika Case-When : 

Pada pemrograman Case-When, kita dapat menempatkan statement setelah kata WHEN, lalu hasilnya setelah kata THEN. Pada pemrograman menggunakan IF statement, kita memiliki struktur yang serupa, yaitu: 

Secara sekilas, bentuk penulisan query untuk IF statement mirip dengan IF statement yang biasa kita tuliskan pada Microsoft Excel ataupun Google Sheet. Setelah ini, kita akan mencoba bagaimana menerapkan fungsi kondisi IF dalam pemrograman SQL. 

Bahasa SQL yang akan kita gunakan pada contoh dalam konten ini adalah bahasa SQL yang digunakan pada MariaDB. Kita akan mencoba untuk mengeluarkan nilai dari sebuah kondisi True dengan menggunakan query berikut ini:

Apa yang terjadi pada query di atas? Kita menuliskan sebuah statement bahwa 500 < 1000. Secara perhitungan matematis, kita mengetahui bahwa nilai 500 pasti lebih kecil dari 1000, oleh karena itu statement tersebut akan selalu bernilai benar untuk semua kondisi apapun.

Oleh karena itu, IF statement akan menjalankan dan mengeluarkan output kondisi True. Begitupun sebaliknya, apabila statement yang kita berikan akan bernilai selalu salah, maka kondisi False pun yang akan dikeluarkan sebagai output oleh SQL. Perhatikan contohnya berikut ini: 

Pada contoh di atas, kita melihat bahwa kita memberikan statement yaitu 1500 < 1000. Secara matematis, hal ini akan selalu dianggap salah, karena kita tahu bahwa 1500 lebih besar daripada 1000, dan pernyataan 1500 < 1000 akan selalu bernilai salah. Oleh karena itu, SQL akan mengeluarkan output dengan kondisi False.

{{COMPONENT_IDENTIFIER}}

Selain digunakan untuk menjalankan dan mengecek sebuah statement, kita bisa mengkombinasikan penggunaan logika IF ini dengan sebuah table pada database

Sebelum kita mulai mengkombinasikan penggunaan logika IF ini dengan database, kita akan melihat dulu isi database demo yang dimiliki oleh MariaDB ini. Perhatikan gambar berikut ini: 

Kita akan mencoba untuk menjalankan logika berikut: Apabila nomor pada kolom id bernilai genap, maka kita akan menampilkan sebuah kolom baru yang bertuliskan “id_genap”, sedangkan apabila nomor pada kolom id bernilai ganjil, maka kita akan menampilkan sebuah kolom baru yang bertuliskan “id_ganjil”. 

Berikut query yang akan kita gunakan untuk menampilkan hasil tersebut: 

Perhatikan query di atas. Pada penulisan IF statement di atas, kita akan mengecek apakah nilai id apabila dibagi 2, menghasilkan sisa bagi 0. Tanda ‘%’ merupakan operator modulus, yang digunakan untuk mengecek hasil bagi dari sebuah angka. 

Kita tahu bahwa nilai angka genap dapat dibagi dengan 2, sehingga tidak memiliki sisa, sedangkan angka ganjil apabila dibagi dengan 2, akan menghasilkan sisa 1. 

Kita akan memanfaatkan fungsi ini untuk memisahkan nilai ganjil dan genap. Apabila statement tersebut bernilai benar, atau nilai statementnya adalah 0, maka id_genap akan ditampilkan sesuai dengan kriteria True, sedangkan apabila tidak bernilai 0, maka id_ganjil yang akan ditampilkan sesuai dengan kriteria False. Perhatikan aplikasinya pada pemrograman SQL berikut ini: 

Dapat kita lihat pada contoh di atas, bahwa muncul kolom baru, yaitu kriteria_kolom yaitu merupakan kolom yang berisi logika IF statement, yang sudah berisi nilai “id_ganjil” dan “id_genap”. 

Sesuai dengan yang telah dijelaskan sebelumnya, dengan logika IF statement, kita dapat dengan tepat memasangkan nomor id ganjil dan genap sesuai dengan labelnya pada kolom kriteria_kolom. 

Penutup

Kita mengenal satu lagi fungsi kondisi yang ada pada SQL, yaitu IF statement, yang secara fungsi dapat digunakan untuk memetakan sebuah statement apakah bernilai True atau False

Namun perlu diingat bahwa tidak semua DBMS memiliki fungsi kondisi IF statement, dan fungsi IF statement ini hanya ada di beberapa DBMS tertentu saja. 

Walaupun secara penulisan mudah dan tidak memiliki struktur yang kompleks seperti penggunaan Case-When, perlu diingat bahwa penggunaan fungsi ini tidaklah scalable dan hanya terdapat di beberapa database tertentu saja. 

Oleh karena itu, ada baiknya kita mempelajari konsep fungsi ini agar suatu ketika kita perlu menggunakan sebuah database yang memiliki fungsi IF statement, kita sudah dapat mengoperasikannya. 

Bobby Christian
Bobby is a BI Analyst at FnB company. Is an enthusiast in the Data Industry, having some experience in Data Scientist, Data Engineer, and BI Analyst.
Menu