PostgreSQL Örneklerle IN, IN Değil
Nedir? PostgreSQL İçinde ?
IN operatörü, bir değerin diğer değerler listesinde mevcut olup olmadığını kontrol etmeye izin veren bir WHERE ifadesinde kullanılır. OperaSELECT, UPDATE, INSERT veya DELETE ifadelerinde birden fazla VEYA koşuluna olan ihtiyacın azaltılmasına yardımcı olur.
Sözdizimi
IN operatörü aşağıdaki sözdizimini alır:
value IN (value_1, value_2, ...)
Değer, listede kontrol ettiğiniz değerdir.
Değer_1, değer_2… liste değerleridir.
Değer listede bulunursa operatör doğru değerini döndürür.
Liste, bir dizi dizi numarası veya hatta bir çıktı sonucu olabilir. SELECT ifadesi Aşağıda gösterildiği gibi:
value IN (SELECT value FROM table-name);
Parantez içine yerleştirilen ifadeye alt sorgu denir.
Karakterli
IN operatörünü karakter değerleriyle nasıl kullanabileceğinizi gösterelim.
Aşağıdaki tabloyu düşünün:
Çalışanlar:
Yukarıdaki tabloya aşağıdaki sorguyu uygulayalım:
SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
Aşağıdakini döndürür:
Üç isimden oluşan bir listemiz var. Bu isimlerden herhangi birini Employees tablosunun name sütununda bulup bulamayacağımızı arıyoruz. Kate Joel, tablonun kayıtlarından biriyle eşleştirildi ve ayrıntıları döndürüldü.
Sayısal ile
Şimdi IN operatörünü sayısal değerlerle nasıl kullanabileceğimizi görelim.
Aşağıda verilen Fiyat tablosunu göz önünde bulundurun:
Fiyat:
Aşağıdaki sorguyu tabloya karşı çalıştırabiliriz:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
Bu, aşağıdakileri döndürür:
4 sayısal değerden oluşan bir liste oluşturduk. Bu değerlerden herhangi birini Price tablosunun price sütununda bulunan değerlerle eşleştirip eşleştiremeyeceğimizi kontrol ediyoruz. İki değer eşleştirildi ve ayrıntıları döndürüldü.
NOT operatörünü kullanma
IN operatörü NOT operatörüyle birlikte kullanılabilir. Belirtilen sütunda bulunmayan değerleri döndürür. Bunu göstermek için Fiyat tablosunu kullanacağız.
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
Aşağıdakini döndürecektir:
4 sayısal değere sahip bir liste oluşturduk. Fiyat tablosunun fiyat sütununu listenin parçası olmayan değerler için kontrol ediyoruz. 250 ve 300 olmak üzere iki değer bulunamadı. Bu nedenle ayrıntıları döndürüldü.
pgAdmin'i kullanma
Şimdi eylemlerin pgAdmin kullanılarak nasıl gerçekleştirilebileceğini görelim.
Karakterli
Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 3 Adım Sorgu düzenleyicisine sorguyu yazın:
SELECT *
FROM Employees
WHERE name IN ('James John', 'Mercy Bush', 'Kate Joel');
) 4 Adım Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
Sayısal ile
Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 3 Adım Sorgu düzenleyicisine sorguyu yazın:
SELECT * FROM Price WHERE price IN (200, 308, 250, 550);
) 4 Adım Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
NOT operatörünü kullanma
Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:
) 1 Adım pgAdmin hesabınıza giriş yapın.
) 2 Adım
- Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
- Demo'yu tıklayın.
) 3 Adım Sorgu düzenleyicisine sorguyu yazın:
SELECT * FROM Price WHERE price NOT IN (200, 400, 190, 230);
) 4 Adım Yürüt düğmesine tıklayın.
Aşağıdaki sonucu döndürmesi gerekir:
ÖZET
- IN operatörü WHERE operatörüyle birlikte kullanılır. Belirli bir tabloda belirli bir değerin bulunup bulunmadığının kontrol edilmesini sağlar.
- IN operatörü, SELECT, UPDATE, INSERT veya DELETE ifadelerinde birden fazla OR operatörüne olan ihtiyacın azaltılmasına yardımcı olur.
- Bir değerin varlığını kontrol etmek için karakter listesi oluştururken listedeki her değer tek tırnak içine alınmalıdır.
- IN operatörü sayısal değerlerle de kullanılabilir.
- IN operatörü NOT operatörüyle birlikte kullanıldığında belirtilen sütunda bulunmayan tüm değerleri döndürür.














