ANY ve ALL operatörleri, tek bir sütun değeri ile bir dizi başka değer arasında karşılaştırma yapmanızı sağlar.
Any Operatörü
Any Operatörü, sonuç olarak bir boolean değeri döndürür ve alt sorgu değerlerinden HERHANGİ BİRİ koşulu karşılıyorsa DOĞRU değerini döndürür.
Any Operatöründe, aralıktaki değerlerden herhangi biri için işlem doğruysa koşul doğru olacaktır.
ANY Syntax
SELECT sütun_adları
FROM tablo_adı
WHERE sütun_adı operatör ANY
(SELECT sütun_adı
FROM tablo_adı
WHERE koşul);
Code language: SQL (Structured Query Language) (sql)
All Operatörü
ALL operatörü, sonuç olarak bir boolean değeri döndürür. TÜM alt sorgu değerleri koşulu karşılıyorsa DOĞRU döndürür. SELECT, WHERE ve HAVING komutlarıyla birlikte kullanılır.
All Operatöründe, aralıktaki değerlerin hepsi için işlem doğruysa koşul doğru olacaktır.
ALL Syntax (SELECT)
SELECT ALL sütun_adları
FROM tablo_adı
WHERE koşul;
Code language: SQL (Structured Query Language) (sql)
ALL Syntax (WHERE veya HAVING)
SELECT sütun_adları
FROM tablo_adı
WHERE sütun_adı operatör ALL
(SELECT sütun_adı
FROM tablo_adı
WHERE koşul);
Code language: SQL (Structured Query Language) (sql)
Not: Any ve All Operatörlerinin kullanımında standart bir karşılaştırma operatörü kullanılmalıdır (=, <>, !=, >, >=, < veya <=).
ANY Örneği
Aşağıdaki SQL kodu, sipariş tablosunda 10’a eşit miktarda bulunan tüm kayıtlar için çalışacaktır (bu, miktar kolonunda 10 değerleri olan satırlar için doğru değerini döndürür):
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, sipariş tablosunda 99’dan büyük miktarda bulunan tüm kayıtlar için çalışacaktır (bu, miktar kolonunda 99 değerinden bütün satırlar için doğru değerini döndürür):
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 99);
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, sipariş tablosunda 500’den büyük miktarda bulunan tüm kayıtlar için çalışacaktır (bu, false değeri döndürür, çünkü miktar sütunun 500’den büyük bir değer yoktur):
SELECT ProductName
FROM Products
WHERE ProductID = ANY
(SELECT ProductID
FROM OrderDetails
WHERE Quantity > 500);
Code language: SQL (Structured Query Language) (sql)
ALL Örneği
Aşağıdaki SQL kodu, TÜM ürün adlarını listeler:
SELECT ALL ProductName
FROM Products
WHERE TRUE;
Code language: SQL (Structured Query Language) (sql)
Aşağıdaki SQL kodu, OrderDetails tablosundaki TÜM kayıtların Miktarı 10’a eşitse ÜrünAdı’nı listeler. Miktar sütununda birçok farklı değer olduğu için (yalnızca 10’un değeri değil) bu işlem, FALSE değeri döndürür:
SELECT ProductName
FROM Products
WHERE ProductID = ALL
(SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10);
Code language: SQL (Structured Query Language) (sql)