MySQL Klausa WHERE: AND, OR, IN, NOT IN Contoh Query
Apa yang dimaksud dengan Klausul WHERE MySQL?
MANA Clause in MySQL adalah kata kunci yang digunakan untuk menentukan kriteria pasti data atau baris yang akan terpengaruh oleh pernyataan SQL yang ditentukan. Klausa WHERE dapat digunakan dengan pernyataan SQL seperti INSERT, UPDATE, SELECT, dan DELETE untuk memfilter data dan melakukan berbagai operasi pada data.
Kami melihat cara menanyakan data dari a Database menggunakan pernyataan SELECT pada tutorial sebelumnya. Pernyataan SELECT mengembalikan semua hasil dari tabel database yang ditanyakan.
Namun, ini adalah saat ketika kita ingin membatasi hasil kueri pada kondisi tertentu. Klausa WHERE dalam SQL berguna dalam situasi seperti itu.

Sintaks klausa WHERE
Sintaks dasar klausa WHERE bila digunakan dalam a MySQL Pernyataan SELECT WHERE adalah sebagai berikut.
SELECT * FROM tableName WHERE condition;
SINI
- “PILIH * DARI Nama tabel” adalah standar PILIH pernyataan
- "DI MANA" adalah kata kunci yang membatasi kumpulan hasil kueri pemilihan kami dan "kondisi" adalah filter yang akan diterapkan pada hasil. Filternya bisa berupa rentang, nilai tunggal, atau sub kueri.
Sekarang mari kita lihat a contoh praktis.
Misalkan kita ingin mendapatkan rincian pribadi anggota dari tabel anggota yang diberi nomor keanggotaan 1, kita akan menggunakan skrip berikut untuk mencapainya.
SELECT * FROM `members` WHERE `membership_number` = 1;
Menjalankan skrip di atas dalam MySQL meja kerja pada “myflixdb” akan menghasilkan hasil berikut.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
Klausa WHERE dikombinasikan dengan – DAN LOGIS Operator
Kondisi WHERE di MySQL bila digunakan bersama dengan operator logika AND, hanya dijalankan jika SEMUA kriteria filter yang ditetapkan terpenuhi.
SELECT * FROM `movies` WHERE `category_id` = 2 AND `year_released` = 2008;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
Klausa WHERE dikombinasikan dengan – OR LOGIS Operator
SELECT * FROM `movies` WHERE `category_id` = 1 OR `category_id` = 2;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
Klausa WHERE dikombinasikan dengan – IN Kata kunci
SELECT * FROM `members` WHERE `membership_number` IN (1,2,3);
Menjalankan skrip di atas dalam MySQL workbench terhadap “myflixdb” menghasilkan hasil berikut.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
3 | Robert Phil | Male | 12-07-1989 | 3rd Street 34 | NULL | 12345 | rm@tstreet.com |
Klausa WHERE dikombinasikan dengan – TIDAK MASUK Kata kunci
SELECT * FROM `members` WHERE `membership_number` NOT IN (1,2,3);
Menjalankan skrip di atas dalam MySQL workbench terhadap “myflixdb” menghasilkan hasil berikut.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
Klausa WHERE dikombinasikan dengan – PERBANDINGAN Operatorso
= Sama dengan
SELECT * FROM `members` WHERE `gender` = 'Female';
Menjalankan skrip di atas dalam MySQL workbench terhadap “myflixdb” menghasilkan hasil berikut.
membership_number | full_names | gender | date_of_birth | physical_address | postal_address | contct_number | |
---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm |
2 | Janet Smith Jones | Female | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
4 | Gloria Williams | Female | 14-02-1984 | 2nd Street 23 | NULL | NULL | NULL |
> Lebih besar dari
payment_id | membership_number | payment_date | description | amount_paid | external_reference_number |
---|---|---|---|---|---|
1 | 1 | 23-07-2012 | Movie rental payment | 2500 | 11 |
3 | 3 | 30-07-2012 | Movie rental payment | 6000 | NULL |
< > Tidak Sama Dengan
SELECT * FROM `movies` WHERE `category_id`<> 1;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
Ringkasan
- Klausa SQL WHERE digunakan untuk membatasi jumlah baris yang dipengaruhi oleh SELECT, UPDATE atau HAPUS kueri.
- Kondisi WHERE dalam SQL dapat digunakan bersama dengan operator logika seperti AND dan OR, operator perbandingan seperti ,= dan lain-lain.
- Saat digunakan dengan AND operator logika, semua kriteria harus dipenuhi.
- Bila digunakan dengan operator logika OR, salah satu kriteria harus dipenuhi.
- Kata kunci IN digunakan untuk memilih baris yang cocok dengan daftar nilai.
Pemikat Otak
SELECT * FROM `movierentals` WHERE `return_date` < '2012-06-25' AND movie_returned = 0;
Menjalankan skrip di atas dalam MySQL workbench memberikan hasil sebagai berikut.
reference_number | transaction_date | return_date | membership_number | movie_id | movie_returned |
---|---|---|---|---|---|
14 | 21-06-2012 | 24-06-2012 | 2 | 2 | 0 |