Operator WHERE IN di MySQL digunakan untuk melakukan filtrasi dengan cara menunjuk data-data berdasarkan parameter tertentu secara spesifik, sehingga data-data yang ditampilkan sesuai kriteria yang telah ditentukan atau untuk memeriksa keberadaan data didaftar data yang telah ditentukan secara spesifik.
Operator WHERE IN di MySQL ini identik dengan operator OR
, hanya saja penulisannya lebih singkat dan prosesnya lebih cepat. WHERE IN
dapat bersisi satu atau lebih data, menggunakan koma sebagai pemisah antara data satu dengan yang lainnya.
Berikut ini adalah contoh penggunaan WHERE IN di MySQL.
WHERE value IN (value1, value2, value3, ...)
Operator IN akan mengembalikan nilai TRUE
atau 1 jika data yang ditunjukan pada kolom tertentu ada.
Baca juga: Tutorial WHERE OR di MySQL
Seperti dikatakan sebelumnya, bahwa operator IN
identik dengan OR
, sebagai berikut.
WHERE value = value1 OR value = value2 OR value = value3 OR ...
Kedua kueri tersebut akan menampilkan data yang sama jika nilai yang ditunjukan terpenuhi.
Berikut ini contoh aktual penggunaan operator IN
.
SELECT 1 IN (1, 2, 3)
Pada kueri diatas akan menampilkan hasil 1, karena angka 1 ada didalam operator IN
.
SELECT 4 IN (1, 2, 3)
Namun pada kueri diatas akan menghasilkan nilai keluaran 0, karena angka 4 tidak ada pada operator IN
yang hanya berisi angka dari 1 sampai 3, dan tidak dengan 4.
Umumnya, operator IN akan mengembalikan nilai NULL
jika terjadi dua kasus seperti dibawah ini.
- Nilai yang berada dikiri atau yang dicari adalah
NULL
. - Jika nilai yang dicari oleh operator
IN
tidak ada, dan salah satu nilainya ada yang berisiNULL
.
Sebagai contoh berikut ini.
SELECT NULL IN (1, 2, 3)
Code language: PHP (php)
Kueri diatas akan menghasilkan nilai NULL
, karena nilai NULL
berada disisi kiri operator IN
.
Dan…
SELECT 4 IN (1, 2, 3, NULL)
Code language: PHP (php)
Operator IN
akan mengembalikan nilai NULL
juga pada kueri diatas, karena angka 4 tidak ada didalam dafter kueri diatas, dan juga NULL
menjadi salah satu data yang ada di operator IN
.
Contoh penggunan WHERE IN di MySQL
Sebelum memulai bagaimana cara menggunakan WHERE IN di MySQL, penulis telah menyediakan data-data yang bisa kita gunakan untuk praktek penggunaan operator IN
ini.
Buatlah sebuah tabel dengan nama companies dengan kueri dibawah ini.
CREATE TABLE `companies` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`company` varchar(255),
`city` varchar(255),
`country` varchar(100) default NULL,
PRIMARY KEY (`id`)
) AUTO_INCREMENT=1;
Code language: JavaScript (javascript)
Lalu isikan beberapa data dummy yang kita bisa gunakan dengan kueri dibawah ini.
INSERT INTO `companies` (`company`,`city`,`country`)
VALUES
("Sagittis Lobortis Mauris Foundation","Schepdaal","Belgium"),
("Nunc Quis Arcu Foundation","Mokpo","Belgium"),
("Ligula Aenean Inc.","ItajaÃ","Pakistan"),
("Suspendisse Dui Fusce LLC","Jiangxi","China"),
("Pretium Neque Inc.","Forchtenstein","China"),
("Risus Duis Incorporated","Lamitan","New Zealand"),
("Scelerisque Neque Inc.","Belfast","Sweden"),
("Ipsum Dolor Sit Limited","Khuzdar","Peru"),
("Litora Torquent Associates","La Roche-sur-Yon","United States"),
("Pede Praesent Eu Foundation","Lamitan","New Zealand");
Code language: JavaScript (javascript)
Secara visual, bentuk data dari tabel companies akan seperti gambar dibawah ini.
Selanjutnya mari kita praktekan bagaimana cara penggunaan WHERE IN di MySQL Ini, dimana kita akan menampilkan data dengan kriteria country yang memiliki nilai Belgium dan China.
SELECT * FROM companies WHERE country IN ('Belgium', 'China')
Code language: JavaScript (javascript)
Pada kueri diatas akan menampilkan data seperti berikut ini.
Data diatas muncul karena kriteria yang kita cari pada kolom country berisi Belgium dan China. Begitu juga hasil yang sama akan muncul jika kita menggunakan operator OR
seperti kueri dibawah ini.
SELECT * FROM companies WHERE country = 'Belgium' OR country = 'China'
Code language: JavaScript (javascript)
Demikian tutorial tentang cara penggunaan WHERE IN
di MySQL ini, semoga tulisan ini bisa bermanfaat, dan jika ada pertanyaan jangan lupa untuk berkomentar dibawah ini.