Thursday, June 25, 2020

Penggunaan Kondisional Where pada Fungsi Select di SQL

Pengolahan data di SQL baik itu pada SQl Server, MySQL, MariaDB dan sebagainya menjadikan fungsi SELECT sebagai pemanggil data yang ada ditabel. Sebuah query untuk memanggil data melalui fungsi select dapat menentukan data seperti apa yang akan keluar. Filter data dapat dilakukan dengan menambahkan kondisional WHERE atau ada juga yang menggunakan WHERE clouse.

WHERE in QUERY SQL
Ilustrasi WHERE in QUERY

Secara umum sintax kondisional WHERE di dalam SELECT :

Select Field 1, Field 2, Field 3, Field dst.. From [Nama Tabel] Where [Kondisional] Order by Field Index

Jika semua field akan dimunculkan maka query diatas bisa dengan cara seperti ini:

Select * From [Nama Tabel] Where [Kondisional] Order by Field Index


Operator Matematis 

Penggunaan WHERE pada sintax diatas dilanjut kondisional. Kondisional merupakan operator matematis yang membandingkan dua atau lebih parameter yang merupakan field tabel. Operator matematis terdiri dari = (samadengan), > (lebih besar), < (lebih kecil), >= (lebih besar sama dengan), <= (lebih kecil sama dengan) dan <> (tidak sama dengan).

Contoh penggunaan operator tersebut sebagai berikut:

WHERE HargaRumah > HargaTanah artinya data yang akan keluar dari query dengan kondisional ini adalah record yang harga rumahnya lebih besar dari harga tanah.

WHERE Jumlah = 100 artinya record yang akan muncul pada output adalah record yang field Jumlah bernilai 100, nilai lainnya tidak akan muncul.

WHERE Jumlah >= 100 artinya record yang akan keluar dari hasil eksekusi query adalah record yang field Jumlah bernilai 100 atau di atas 100, seperti 105, 108 dan sebagainya.

WHERE JenisKelamin = 'Pria' artinya record yang akan keluar adalah record yang fieldnya bernilai 'Pria'.

WHERE JenisKelamin <> 'Pria' artinya record yang keluar dari hasil query dengan kondisional tersebut adalah record yang nilainya tidak berisi 'Pria', misalnya yang akan keluar adalah record yang berisi JenisKelamin 'Wanita'.


Operator Boolean

Operator Boolean adalah operator yang menggabungkan dua atau lebih kondisional sehingga menjadi satu nilai betul atau salah (true or false). Operator boolean terdiri dari AND dan OR. Dengan menggunakan operator boolean maka kondisional harus lebih dari satu buah. Seperti sintax berikut ini:

WHERE [Kondisional 1] AND [Kondisional 2]

Penggunaan query diatas maksudnya adalah sebuah record akan masuk menjadi bagian query jika memenuhi persyaratan kondisional pertama dan juga memenuhi persyaratan kondisional kedua. Contoh:

SELECT * FROM Pegawai WHERE  Umur > 45 AND Jabatan ='Manager'

Dari query diatas kondisional pertama Umur > 45 dan kondisional kedua adalah Jabatan = 'Manager'. Artinya record yang masuk katagori untuk query diatas adalah record yang field Umur bernilai diatas 45 keatas dan dengan jabatan 'Manager'.

Untuk operator boolean OR merupakan pilihan, kalau salah satu kondisional bernilai benar (true) maka record akan masuk dalam katagori. Sintaxnya sebagai berikut ini:

WHERE [Kondisional 1] OR [Kondisional 2]

Contoh untuk query dengan menggunakan operator boolean OR seperti berikut ini:

SELECT * FROM Pegawai WHERE  Umur > 45 OR Jabatan ='Manager'

Dari query diatas maka record yang masuk sebagai hasil adalah record yang field Umur-nya diatas 45 atau record yang field Jabatan bernilai 'Manager'.  Sebuah record dengan nilai field Jabatan = 'Staf' akan tetap masuk katagori jika field Umur bernilai diatas 45, misalnya 47, 50 dan angka diatas 45 lainnya.