SQL - KLAUSUL WHERE

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

SQL - Where Clause

KLAUSUL WHERE di SQL

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

Klausul WHERE memungkinkan kita untuk menyaring data berdasarkan syarat tertentu. Itu seperti mengatakan ke basis data, "Hai, saya hanya ingin melihat informasi tertentu 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 berkelanjutan, dan segera Anda akan dapat menyaring data seperti seorang ahli!

KLAUSUL WHERE dengan PERINTAH SELECT

Marilah 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 kueri.
  • WHERE age = 18 adalah syarat kita. Itu seperti mengatakan, "Hanya tampilkan baris di mana umur tepat 18."

Katakanlah kita hanya ingin melihat nama siswa berusia 18 tahun:

SELECT name
FROM students
WHERE age = 18;

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

KLAUSUL WHERE dengan PERINTAH UPDATE

Klausul WHERE tidak hanya untuk perintah SELECT. Ini juga sangat berguna saat memperbarui data. Katakanlah kita ingin memperbarui usia semua siswa bernama "Alice" menjadi 19.

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

Query ini akan mengubah usia menjadi 19, tapi hanya untuk siswa yang namanya Alice. Tanpa klausul WHERE, kita akan secara tak kehendak mengubah usia semua orang!

KLAUSUL WHERE dengan OPERATOR IN

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

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

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

KLAUSUL WHERE dengan OPERATOR NOT IN

Sekarang, apa bila kita ingin menemukan semua siswa yang BUKAN berusia 18, 19, atau 20 tahun? Sangat mudah! Kita hanya menambah 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.

KLAUSUL WHERE dengan OPERATOR LIKE

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%';

KLAUSUL WHERE dengan OPERATOR AND, OR

Seringkali, kita perlu menggabungkan beberapa kondisi. Itu di mana operator AND dan OR bergabung.

Marilah kita menemukan 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 menciptakan kondisi 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 WHERE age = 18
<> or != Tidak sama WHERE age <> 18
> Lebih besar WHERE age > 18
< Lebih kecil WHERE age < 18
>= Lebih besar atau sama WHERE age >= 18
<= Lebih kecil atau sama 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 Pencocokan pola WHERE name LIKE 'A%'
AND Kedua kondisi harus benar WHERE age = 18 AND name LIKE 'A%'
OR Mana-mana kondisi dapat benar WHERE age = 18 OR name LIKE 'A%'

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

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

Credits: Image by storyset