SQL Server: Mengenal operator "NOT IN" pada SQL Server

Setelah sebelumya kita membahas penggunaan operator IN. Kali ini kita akan membahas bagaimana cara menggunakan operator NOT IN dalam sebuah query SQL Server. 

NOT IN ini biasanya digunakan untuk membuat pengecualian. Data akan ditampilkan seluruhnya sesuai filter lain yang ada kecuali yang ada di list yang menjadi nilai NOT IN.

Bagaimana membuat pengecualian dalam query? Kita langsung saja jelaskan dengan contoh. Data item masih akan kita gunakan disini.


Kita akan coba membuat query untuk menampilkan semua data tapi tidak ingin menampilkan catagorycode C001 dan C004 saja.

SELECT * FROM item WHERE categorycode NOT IN ('C001','C004')

Maka hasil dari query tersebut adalah sebagai berikut:


Contoh lain kita akan menggunakan operator NOT IN ini untuk memfilter menggunakan kolom yang bertipe integer. Kita akan mengecualikan data dengan itemid 5,9,11, dan 15.

SELECT * FROM item WHERE itemid NOT IN (5,9,11,15)

Maka hasil dari query tersebut adalah sebagai berikut:


Penggunaan NOT IN juga bisa menggunakan sub query sebagai list untuk membuat pengecualian. 

Sebagai contoh kita tidk akan menampilkan data item dengan kolom categorycode yang diambil dari tabel category yang dibuat oleh user (createdby) 'admin' . Yaitu mengeluarkan C002 dan C003 yang dibuat oleh admin dari kriteria.


Maka mari kita buat query seperti berikut ini:

SELECT * FROM item 
WHERE categorycode NOT IN 
(SELECT categorycode FROM category WHERE createdby ='admin')

Hasilnya akan ditampilkan data item yang category nya dibuat oleh 'admin' yaitu kategori C002 dan C003.






Post a Comment

0 Comments