Any
Bir değeri, bir alt sorgu tarafından döndürülen bir dizi değer ile karşılaştırır.
Örnek: Aşağıdaki sorgu filmlerin uzunluklarını kategorilerine göre listeler.
SELECT MAX(length), category_id FROM film INNER JOIN film_category USING(film_id) GROUP BY category_id ORDER BY category_id;
Bu sorguyu, uzunlukları herhangi bir film kategorisinin maksimum uzunluğundan büyük
veya ona eşit olan filmleri bulan aşağıdaki ifadede bir alt sorgu olarak kullanabilirsiniz.
SELECT title, length len FROM film
WHERE length >= ANY
( SELECT MAX( length ) FROM film
INNER JOIN film_category
USING(film_id)
GROUP BY category_id )
ORDER BY len;
Her kategori için alt sorgu maksimum uzunluğu bulur. Dış sorgu tüm bu değerlere bakar
ve film tablosundaki hangi film uzunluklarının herhangi bir film kategorisinin maksimum
uzunluğundan daha büyük veya ona eşit olduğunu belirler.
Not =ANY operatörü IN operatörü ile eşdeğerdir. <> ANY operatörü ile NOT IN operatörü birbirlerinden farklıdır.
SELECT title, length len FROM film
WHERE length =
ANY( SELECT MAX( length ) FROM film
INNER JOIN film_category
USING(film_id) GROUP BY category_id )
ORDER BY len ;
Sorgusu ile aşağıdaki sorgu aynı sonucu verir.
SELECT title , length len FROM film
WHERE length IN
( SELECT MAX( length ) FROM film
INNER JOIN film_category
USING(film_id) GROUP BY category_id )
ORDER BY len ;
Kategori seçin...
