SQL - WHERE Clause

Selamat datang, para ahli basis data masa depan! Hari ini, kita akan mendalami salah satu alat paling kuat dalam kotak peralatan SQL Anda: klausa WHERE. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengorbit Anda melalui perjalanan yang menarik ini. Jadi, ambil keyboard Anda (tongkat sihir virtual), dan mari kita buat some SQL magic!

SQL - Where Clause

The SQL Where Clause

Bayangkan Anda berada di perpustakaan besar dengan jutaan buku. Anda mencari buku tertentu tentang naga. Anda akan membaca setiap buku? Tentu saja tidak! Anda akan meminta petugas perpustakaan untuk membantu Anda menemukan buku tentang naga. Dalam SQL, klausa WHERE adalah petugas perpustakaan yang membantu Anda.

Klausa WHERE memungkinkan kita untuk menyaring data berdasarkan syarat tertentu. Itu seperti mengatakan ke basis data, "Hai, saya hanya ingin melihat informasi tertentu ini yang memenuhi kriteria ini."

Ini adalah sintaksis dasar:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

Jangan khawatir jika ini terlihat sedikit menakutkan. Kita akan membongkar ini secara bertahap, dan segera Anda akan menjadi ahli menyaring data!

WHERE Clause with SELECT Statement

mari kita mulai dengan contoh sederhana. Bayangkan kita memiliki tabel yang disebut students dengan kolom id, name, dan age. Kita ingin menemukan semua siswa yang berusia 18 tahun.

SELECT *
FROM students
WHERE age = 18;

Dalam query ini:

  • SELECT * berarti kita ingin melihat semua kolom.
  • FROM students menentukan tabel yang kita kuiri.
  • WHERE age = 18 adalah syarat kita. Itu seperti mengatakan, "Hanya tunjukkan saya baris di mana usia tepat 18."

Katakanlah kita hanya ingin melihat nama siswa berusia 18 tahun ini:

SELECT name
FROM students
WHERE age = 18;

Lihat bagaimana kita mengganti * menjadi name? Sekarang kita hanya akan melihat nama, bukan semua kolom.

WHERE Clause with UPDATE Statement

Klausa WHERE tidak hanya untuk pernyataan SELECT. Itu juga sangat berguna saat mengupdate data. Katakanlah kita ingin mengupdate usia semua siswa yang bernama "Alice" menjadi 19.

UPDATE students
SET age = 19
WHERE name = 'Alice';

Query ini akan mengubah usia menjadi 19, tetapi hanya untuk siswa yang bernama Alice. Tanpa klausa WHERE, kita akan secara tidak sengaja mengubah usia semua orang!

WHERE Clause with IN Operator

Apa jika kita ingin menemukan siswa yang berusia 18, 19, atau 20 tahun? Kita bisa menggunakan beberapa syarat OR, tetapi ada cara yang lebih rapi: operator IN.

SELECT *
FROM students
WHERE age IN (18, 19, 20);

Query ini akan mengembalikan semua siswa yang berusia 18, 19, atau 20 tahun. Itu seperti mengatakan, "Apakah usia dalam daftar ini? Jika ya, sisipkan itu!"

WHERE Clause with NOT IN Operator

Sekarang, apa jika kita ingin menemukan semua siswa yang BUKAN berusia 18, 19, atau 20 tahun? Mudah-mudahan! Kita hanya menambahkan NOT sebelum IN:

SELECT *
FROM students
WHERE age NOT IN (18, 19, 20);

Ini akan memberikan kita semua siswa yang usia mereka adalah apa pun kecuali 18, 19, atau 20 tahun.

WHERE Clause with LIKE Operator

kadang-kadang, kita perlu mencari pola dalam data teks. Itu di mana operator LIKE berguna. Katakanlah kita ingin menemukan semua siswa yang nama mereka dimulai dengan 'A':

SELECT *
FROM students
WHERE name LIKE 'A%';

Dalam query ini, '%' adalah wildcard yang cocok dengan setiap urutan karakter. Jadi 'A%' berarti "dimulai dengan A, diikuti oleh apa pun."

Kita juga dapat mencari nama yang berakhir dengan 'n':

SELECT *
FROM students
WHERE name LIKE '%n';

Atau nama yang memiliki 'li' di mana saja:

SELECT *
FROM students
WHERE name LIKE '%li%';

WHERE Clause with AND, OR Operators

Biasanya, kita perlu menggabungkan beberapa syarat. Itu di mana AND dan OR bergabung.

mari kita temukan semua siswa yang berusia 18 tahun DAN nama mereka dimulai dengan 'A':

SELECT *
FROM students
WHERE age = 18 AND name LIKE 'A%';

atau mungkin kita ingin siswa yang berusia 18 tahun ATAU nama mereka dimulai dengan 'A':

SELECT *
FROM students
WHERE age = 18 OR name LIKE 'A%';

Anda dapat menggabungkan operator ini untuk membuat syarat yang kompleks:

SELECT *
FROM students
WHERE (age = 18 OR age = 19) AND (name LIKE 'A%' OR name LIKE 'B%');

Query ini akan menemukan siswa yang berusia 18 atau 19 tahun, DAN nama mereka dimulai dengan 'A' atau 'B'.

Berikut adalah tabel yang menggabungkan operator yang kita pelajari:

Operator Deskripsi Contoh
= Sama dengan WHERE age = 18
<> or != Tidak sama dengan WHERE age <> 18
> Lebih besar dari WHERE age > 18
< Lebih kecil dari WHERE age < 18
>= Lebih besar atau sama dengan WHERE age >= 18
<= Lebih kecil atau sama dengan WHERE age <= 18
IN Cocok dengan nilai manapun dalam daftar WHERE age IN (18, 19, 20)
NOT IN Tidak cocok dengan nilai manapun dalam daftar WHERE age NOT IN (18, 19, 20)
LIKE Cocok pola WHERE name LIKE 'A%'
AND Kedua syarat harus benar WHERE age = 18 AND name LIKE 'A%'
OR Mana-mana syarat dapat benar WHERE age = 18 OR name LIKE 'A%'

Dan itu dia, teman-teman! Anda telah belajar tentang klausa WHERE. Ingat, latihan membuat sempurna. Cobalah menulis query Anda sendiri, eksperimen dengan syarat yang berbeda, dan segera Anda akan menyaring data seperti seorang administrator basis data berpengalaman.

Selamat mencari, dan may your WHERE clauses always find what you're looking for!

Credits: Image by storyset