SQL'de IN ve NOT IN Kullanımları

  • IN İngilizce'de de olduğu gibi içinde anlamına gelmektedir.
  • IN komutu her zaman WHERE kriterinden sonra kullanılmaktadır.
  • Sahip olduğumuz verilerden sadece istediklerimize IN komutuyla ulaşabiliriz.
  • NOT IN, IN komutunun tam tersidir. Sahip olduğumuz verilerden istemediklerimizi NOT IN sözcüğüyle belirtiriz.
  • NOT koşul bildirimi diğer arama koşullarına göre daha yavaş çalışır.
  • IN ile elde edebildiğimiz bütün sonuçlar OR kullanılarakta alınabilir.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu
Örnek Sorgu 1 : SELECT SupplierID, ProductName, UnitPrice FROM Products
WHERE SupplierID IN(5, 8) ORDER BY ProductName
(Satıcı kimlik kodu 5 ve 8 olan ürünleri IN operatörü kullanarak listeleyelim.)

  
Örnek Sorgu 2 : SELECT CustomerID FROM Orders WHERE OrderID
IN ( SELECT OrderID FROM [Order Details] WHERE ProductID = 27)
(27 numaralı ürünü sipariş veren tüm müşterileri listeleyelim.)  




Örnek Sorgu 3 : SELECT CompanyName,Country FROM Customers
WHERE Country NOT IN ('UK','Mexico','Germany','USA','Brazil')
(Customers tablosunda Ülkesi
UK, Mexico, Germany, USA, Brazil dışındakileri listeleyelim.)