SELECT IN Sorgusu ile Çoklu Değer Filtreleme (SQL Dersleri - 6)

kusha · 31 Temmuz 2026 · 3 dk okuma

Bir kolonun birden fazla olası değerden birine eşit olup olmadığını kontrol etmek istediğinizde, her değeri ayrı ayrı OR ile bağlamak yerine IN operatörünü kullanabilirsiniz — çok daha okunabilir ve kısa bir yazım sağlar.

OR Zinciri Yerine IN

Hem Fransa hem Brezilya'ya yapılan sevkiyatları görmek isteyelim. IN olmadan:

SELECT [Sevk Adı], [Sevk Şehri], [Sevk Ülkesi]
FROM Satışlar
WHERE [Sevk Ülkesi] = 'France' OR [Sevk Ülkesi] = 'Brazil';

IN ile aynı sorgu:

SELECT [Sevk Adı], [Sevk Şehri], [Sevk Ülkesi]
FROM Satışlar
WHERE [Sevk Ülkesi] IN ('France', 'Brazil');

Neden Önemli?

Kontrol etmek istediğiniz değer sayısı arttıkça (20-30 ülke gibi) OR zinciri hem yazması hem okuması zorlaşan, hataya açık bir yapıya dönüşür. IN parantez içine istediğiniz kadar değeri virgülle ekleyerek aynı işi çok daha temiz yapar:

WHERE [Sevk Ülkesi] IN ('France', 'Brazil', 'Germany');

Sırada Ne Var?

Sırada, sayısal bir aralık içindeki değerleri filtrelemek için kullanılan BETWEEN ... AND ... yapısı var.