Tutorial WHERE NOT IN Di MySQL

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.

WHERE NOT IN FALSE dan TRUE

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.

Data tabel companies

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.

Hasil kueri WHERE NOT IN di MySQL

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.

Komentar

Selamat, anda berkesempatan menjadi komentator pertama di artikel ini. Punya pertanyaan atau saran? Silahkan tinggalkan komentar untuk memulai diskusi.
Terima kasih telah memilih untuk meninggalkan komentar. Harap diingat bahwa semua komentar dimoderasi sesuai dengan kebijakan, dan informasi anda TIDAK akan dipublikasikan. Harap JANGAN gunakan kata kunci di kolom nama. Mari kita buat diskusi yang menarik dan bermakna.

Tinggalkan komentar

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.