SQL Series II: SQL Fundamental WHERE Statement and IN, OR, AND, BETWEEN, & LIKE Operator

Al-Fazrin Banapon
6 min readNov 13, 2020

--

Assalamualaikum Warahamtullahi Wabarakatuh
(dijawab dulu salamnya, lumayan pahala)

seperti judul tulisan, dipart ini gw bakalan ngebahas salah satu query yang useful banget juga yaitu where. someday kita bakalan bekerja dengan database yang ukurannya million or even tens of million of records. Well, terkadang kita gk akan ngeliat seluruh datanya, dan thanksfull banget SQL udah nyedian suatu statement buat kita agar bisa memilih data mana aja yang pengen kita liat, dengan menggunakan where ini.

at the end of this series, harapannya temen temen bakalan mengenal lebih jauh dan bisa mengaplikasikan beberpa oeprator seperti between, in, or,dan like yang digunakan secara bersamaan dengan query where. Penggunaan query dan operator ini tujuannya untuk memfilter data, filtering extremly important karena ini memudahkan kita untuk memfilter data mana aja yang ingin kita ambil untuk kita anlisis.

sebelum berselancar, semoga teman teman yang membaca tulisan gw ini dimudahkan segala rezeki dan urusannya, dan tentunya dimudahkan untuk menerima dan memahami tulisan gw nanti.

Untuk lebih jelasnya let’s code dudeeee !!!

Memfilter Data menggunakan Statement WHERE

pada bagain ini kita masih menggunakan database yang sama seperti tulisan sebelumnya, kita akan menggunakan data dari tabel products, yang ditampilkan adalah kolom productCode, productName, productLine dan buyPrice. Namun product yang ditampilkan hanyalah product ‘Motorcycles’. disinilah where akan digunakan. query where diletakkan setelah nama tabel untuk memfilter sesuai kondisi yang diiginkan.

select productCOde, productName, productLine, buyPrice from products where productLine = 'Motorcycles';

apabila ingin menampilkan hasil selain productLine yaitu ‘Motorcyles’ kita bisa gunakan operator != artinya akan menampilkan hasil negasi atau selain dari ‘Motorcyles’.

select productCode, productName, producLine, buyPrice from products where productLine != ‘Motorcycles’;

bagaimana jika kita akan memfilter numerik data ? tentunya bisa. Sebagai contah kita akan menampilkan data yang buyPrice lebih dari atau sama dengan 70.

select productCode, productName, productLine, buyPrice from products where buyPrice >= 70;

maka yang ditampilkan adalah data yang memenuhi kondisi buyPrice ≥ 70 saja.

Penggunaan Operator OR dan AND

tidak hanya terbatas pada satu kondisi saja, namun bisa untuk more than one conditions, semisal ingin menampilkan productLine ‘Motorcycle’ dengan harga buyPrice lebih dari 50, dan kedua kondisi ini harus terpenuhi. Maka dapat menggunakan operator AND pada where

select productCode, productName, productLine, buyPrice, from products where productLine = ‘Motorcycles’ and buyPrice > 50;

selanjutnya gw pengen nampilin buyPrice > 50 atau productLine adalah ‘Planes’, jika sebelumnya kedua kondisi harus terpenuhi dengan operator AND maka kali ini tidak harus memenuhi kedua kondisi tapi boleh salah satu kondisi saja dengan menggunnakan operator OR

select productCode, productName, productLine, buyPrice from products where productLine = ‘Planes’ OR buyPrice > 70;

jika dilihat ada buyPrice yang kurang dari 50 namun tetap ditampilkan, karena productLine nya adalah ‘Planes’. Karena jika menggunakan or maka salah satu kondisi sudah TRUE, maka yang TRUE akan tetap ditampilkan.

Penggunaan Operator IN

Misalkan gw akan menampilkan 2 productLine yaitu ‘Planes’ dan ‘Ships’, gw bisa memanfaatkan operator IN untk memfilter kondisi tersebut, penggunaan IN digunakan apabila akan menampilkan lebih dari satu kondisi dalam kolom yang sama.

select productCode, productName, productLine, buyPrice from products where productLine in (‘Planes’,‘Ships’);

Penggunaan Operator BETWEEN

jika indigunakan untuk memfilter lebih dari satu kondisi pada kolom yang sama, between digunakan untuk menampilkan kondisi pada rentang nilai tertentu.

Misalnya gw akan menampilkan product dengan buyPrice dianatar 50 dan 70, maka gw dapat memanfaatkan query between ini.

select productCode, productName, productLine, buyPrice from products where productLine between 50 AND 70;

jika ingin lebih spesifik lagi, hanya akan menampilkan productLine ‘Planes’ dan buyPrice diantara 50 dan 70, maka dapat kita eksekusi dengan query sebagai berikut.

select select productCode, productName, productLine, buyPrice from products where productLine between 50 AND 70;

Penggunaan Operator LIKE

Operator like ini digunakan pada statemtnwhere untuk mencari pola yang spesifik pada suatu kolom.

terdapat 2 wildcard yang sering digunakan sebagai penguhubung pada operator like :

  1. %, tanda persen ini merepresentasikan 0, 1, atau banyak karakter
  2. _, underscore merepresentasikan single character

berikut adalah beberapa contoh penggunaan wildcard operator :

https://www.w3schools.com/sql/sql_like.asp

semisal gw pengen ngambil customer name dengan yang firstName berawalan ‘A’ dari tabel customers.

select customerName from customers where customerName like 'A%';

yang bakalan tampil hanyalah customerName yang memiliki awalan ‘A’ saja, bagaimana jika gw pengen nampilin lastName dari tabel employee yang berakhiran huruf vokal, kemudian firstName dan lastName gw gabungin jadi satu kolom aja.

select concat(firstName, ' ', lastName) as employee_name
from employees
where lastName like '%a' or lastName like '%e' or lastName like '%i' or lastName like '%o' or lastName like '%u';

query concat diatas berfungsi untuk menggabungkan 2 kolom menjadi satu, tanda ‘ ‘ di antara kedua kolom firstName dan lastName berguna untuk memberika spasi antara nama depan dan nama belakang agar terlihat rapih.

kita juga bisa memfilter karakter tertentu yang ada di tengah tengah string tersebut. misal gw diminta menampilkan produkName yamaha, gw bisa memanfaatkan operator like untuk menjawab pertanyaan ini.

select productName from products where productName like '%yamaha%';

selanjutnya kita akan menggunakan wildcard ‘_’ untuk memfilter tepat satu karakter dari suatu string, semisal gw pengen ngambil firstName dari tabel employee yang memiliki nama 3 huruf diawali huruf T dan diakhiri huruf M.

select firstName from employee where firstName like 'T_m';

atau semisal firstName dari tabel employee yang memiliki awalan Ma dan diikuti 4 karakter,

select firstName from employees where firstName like 'Ma____';

nah gimans dude ? udah cukup paham bukan untuk penggunaan statement where beserta beberapa operator yang dapat memudahkan kita dalam memfilter data kita ? semoga sedikit contoh ini dapat menambah pemahaman teman teman. Semangat belajar, teman teman bisa untuk melakukan eksplorasi lagi untuk menambah pemahaman teman teman.

cukup sekian dari gw ditulisan sql series part 2 ini, doain semoga gw tetap konsisten buat nulis dan bisa berbagi ke teman teman lebih banyak lagi. any questions ? find me on

linkedin : https://www.linkedin.com/in/alfazrin-banapon-9a953b147/

instagram : instagram.com/alfazrinb

email : afbanapon@gmail.com

Wassalamualaikum Warahmatullah :)

--

--