Penggunaan WHERE NOT IN di MySQL berfungsi untuk memeriksa ketidakberadaan data di daftar data yang telah ditentukan secara spesifik. Operator NOT IN
juga bisa digunakan untuk mengecualikan data tertentu.
Berikut ini adalah cara menggunakan WHERE NOT IN di MySQL.
WHERE value NOT IN (value1, value2, value3, ...)
Pada dasarnya, operator NOT IN
adalah dua operator yang berbeda, namun apabila di gabungkan NOT
dengan IN
maka fungsinya akan meniadakan data yang ada di IN
, misalnya jika hanya menggunakan IN
tanpa NOT
maka MySQL akan mengembalikan angka 1 atau TRUE
jika nilai yang di cari ada di daftar IN
, sedangkan jika ditambah NOT
dikiri IN
maka, jika nilai yang di cari ada akan mengembalikan angka 0 atau FALSE
. Contoh penggunaan dibawah ini.
Baca juga: Tutorial WHERE IN Di MySQL
Kueri jika data yang di cari ada.
SELECT 1 NOT IN (1,2,3)
Dan jika data yang di cari tidak ada.
SELECT 4 NOT IN (1,2,3)
Pada kueri pertama diatas akan mengembalikan nilai 0 atau FALSE
, karena angka 1 ada didalam daftar IN
, sedangkan kueri kedua akan mengembalikan nilai 1 atau TRUE
, karena angka 4 tidak ada didalam daftar IN
.
Operator NOT IN
akan mengembalikan nilai NULL
jika data pencari adalah NULL
. Sebagai contoh kueri dibawah ini.
SELECT NULL NOT IN (1,2,3)
Code language: PHP (php)
Secara teknikal penggunaan NOT IN
sama dengan NOT
dan penggunaan OR
didalam kurung. Sebagai contoh.
SELECT NOT (value = value1 OR value = value2 OR value = value3 OR ...)
Atau juga sama dengan penggunaan operator tidak sama atau bukan “<>
“.
Contoh penggunaan WHERE NOT IN di MySQL
Pada bagian ini kita akan mencoba secara praktikal bagaimana mana penggunaan WHERE NOT IN di MySQL jika dengan menggunakan data yang ada didalam tabel.
Namun sebelum itu buatlah tabel baru dan isi beberapa data didalam tabel tersebut, di tutorial ini penulis sudah membuat kueri untuk membuat tabel baru dengan nama companies dengan menjalankan sintak SQL 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)
Selanjutnya untuk mengisi data didalam tabel tersebut, jalankan kueri INSERT
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)
Jika sudah maka data-data diatas akan terlihat seperti tabel dibawah ini.
Selanjutnya pada kueri dibawah ini akan mengecualikan beberapa data yang ada didalam tabel tersebut berdasarkan kolom id.
SELECT * FROM companies WHERE id NOT IN (1, 2, 3);
Dari kueri diatas maka akan mendapatkan hasil seperti pada gambar tabel dibawah ini.
Kesimpulannya adalah penggunaan NOT IN
jika digunakan untuk menunjuk tabel tertentu maka akan mengecualikan data, dan juga dapat memeriksa apakah ada yang dicari ada atau tidak.
Demikian tutorial ini, semoga bermanfaat, dan jika ada pertanyaan tinggalkan komentar dibawah ini ya.