SQL Server: WHERE CLAUSE

WHERE digunakan dalam Query SQL untuk menyaring data. Pada query SELECT, WHERE membantu menyaring data agar hanya data yang diperlukan saja yang ditampilkan pada data hasil.

Meskipun WHERE Clause ini dapat digunakan juga pada query UPDATE dan DELETE, tapi sebagian besar contoh-contoh pada artikel ini Rani buat di pernyataan SELECT. Dengan maksud supaya terlihat bagaimana WHERE Clause ini menyaring data.

Secara umum sintaks yang digunakan sebagai berikut:

SELECT
    nama_kolom
FROM
    nama_tabel
WHERE
    kondisi_pencarian;


Untuk lebih memahami, penjelasan lebih lanjut menggunakan contoh pada tabel item.


1. Menemukan baris dengan menggunakan 1 persamaan sederhana

Untuk contoh pertama ini kita akan mencari baris yang memiliki nilai kolom tertentu dengan menggunakan sama dengan (=). Yang berarti nilai kolom tersebut harus sama persis dengan kondisi yang diminta.

Untuk kolom tipe numerik bisa langsung menuliskan nilai seperti berikut:

SELECT * FROM dbo.item WHERE itemid = 8


SELECT * FROM dbo.item WHERE pricesell = 3200



Sementara kita perlu menambahkan kutip 1 diantara nilai filter seperti berikut:

SELECT * FROM dbo.item WHERE categorycode = 'C002'


2. Menemukan baris yang memenuhi dua kondisi menggunakan AND

Jika kita memerlukan dua kondisi atau lebih yang harus dipenuhi semuanya maka diantara kondisi-kondisi tersebut perlu ditambahkan AND.

SELECT * FROM dbo.item WHERE categorycode = 'C002' AND pricesell = 3200


3. Menemukan baris yang memenuhi salah satu dari dua kondisi menggunakan OR

Sementara jika terdapat dua kondisi atau lebih yang cukup terpenuhi salah satu saja makan diantara kondisi-kondisi tersebut diberi OR.

SELECT * FROM dbo.item WHERE categorycode = 'C001' OR pricesell = 3200


4. Menemukan baris dengan menggunakan operator pembanding

Operator pembanding disini adalah lebih besar dari ( > ) dan lebih kecil dari ( < ). Bisa juga dilengkapi dengan sama dengan jika nilai pembanding ingin diikutsertakan dalam hasil query, lebih besar sama dengan ( >= ) dan lebih kecil sama dengan ( <= ).

Berikut ini contoh query untuk mencari data item yang memiliki harga jual lebih dari 7.800 (tapi nilai harga 7.800 tidak diikut sertakan).

SELECT * FROM dbo.item WHERE pricesell > 7800


Sementara contoh berikut query untuk mencari data item yang memiliki harga jual lebih dari 7.800 (dan nilai harga 7.800 ikut ditampilkan.

SELECT * FROM dbo.item WHERE pricesell <= 7800


5. Menemukan baris dengan nilai antara menggunakan BETWEEN

Filter dapat berupa range nilai dengan menggunakan BETWEEN. Pada BETWEEN, nilai yang menjadi patokan antara diikut sertakan pada hasil query.

SELECT * FROM dbo.item WHERE pricesell BETWEEN 3000 AND 7800


6. Menemukan baris nilai yang sesuai dengan beberapa (list) nilai tertentu 

Kita memang bisa menggunakan OR untuk beberapa filter nilai yang ingin ditampilkan, tapi jika list nilai itu lumayan banyak maka lebih efektif menggunakan IN. Seperti di bawah ini, kita ingin mendapatkan item dengan barcode 8998009010910, 8998009010927, 8998009011351,  dan 8998009011699. 

SELECT * FROM dbo.item 
WHERE barcode IN ('8998009010910', '8998009010927',
                  '8998009011351', '8998009011699')



7. Menemukan baris yang memuat sebagian teks tertentu (dari string)

Jika ingin mencari baris data dengan teks yang mengandung kata kunci tertentu (sebagian saja) tidak persis sama, kita bisa menggunakan LIKE dan %. Setidaknya ada 3 jenis cara menggunakannya.

Mencari teks dengan awalan tertentu.

Misalnya kita mencara nama item yang awalannya dimulai dari kata kunci 'ABC', maka tanda persen % ditambahkan di akhir sebelum string kata kunci ditutup kutip satu.

SELECT * FROM dbo.item WHERE itemname LIKE 'ABC%'

Mencari teks dengan akhiran tertentu.

Misalnya kita mencara nama item yang akhirannya kata kunci 'ML', maka tanda persen % ditambahkan di awal string setelah kutip satu pertama.

SELECT * FROM dbo.item WHERE itemname LIKE '%ML'


Mencari teks dengan kata kunci tertentu.

Terakhir jika kita ingin mencari yang mengandung kata kunci tertentu dimanapun letaknya maka tanda % ditempatkan di awal dan diakhir seperti berikut.

SELECT * FROM dbo.item WHERE itemname LIKE '%PEDAS%'




Post a Comment

0 Comments