SQL Eğitimi

SQL ANA SAYFA SQL'e Giriş SQL Sözdizimi SQL Seçimi SQL Seç Farklı SQL Nerede SQL Ve, Veya, Değil SQL Sıralaması İçine SQL Ekle SQL Boş Değerler SQL Güncellemesi SQL Sil SQL Üst Seç SQL Min ve Maks SQL Sayısı, Ortalama, Toplam SQL Beğeni SQL Joker Karakterleri SQL Girişi SQL Arası SQL Takma Adları SQL Birleşimleri SQL İç Birleştirme SQL Sol Birleştirme SQL Sağ Birleştirme SQL Tam Birleştirme SQL Kendi Kendine Katılma SQL Birliği SQL Grubuna Göre SQL Sahip Olmak SQL Var SQL Herhangi Bir, Tümü SQL Seçimi Seçime SQL Ekle SQL Örneği SQL Boş Fonksiyonlar SQL Saklı Yordamlar SQL Yorumları SQL Operatörleri

SQL Veritabanı

SQL Veritabanı Oluştur SQL Bırak DB'si SQL Yedekleme Veritabanı SQL Oluşturma Tablosu SQL Bırakma Tablosu SQL Değiştirme Tablosu SQL Kısıtlamaları SQL Boş Değil SQL Benzersiz SQL Birincil Anahtarı SQL Yabancı Anahtarı SQL Kontrolü SQL Varsayılanı SQL Dizini SQL Otomatik Artış SQL Tarihleri SQL Görünümleri SQL Enjeksiyonu SQL Barındırma SQL Veri Türleri

SQL Referansları

SQL Anahtar Kelimeleri MySQL İşlevleri SQL Sunucu İşlevleri MS Erişim Fonksiyonları SQL Hızlı Başvuru

SQL Örnekleri

SQL Örnekleri SQL Testi SQL Alıştırmaları SQL Sertifikası

SQL HERHANGİ BİR ve TÜM Operatörler


SQL HERHANGİ BİR ve TÜM Operatörler

ANYve operatörleri , ALLtek bir sütun değeri ile bir dizi başka değer arasında karşılaştırma yapmanıza olanak tanır.


SQL HERHANGİ BİR Operatörü

ANYoperatör :

  • sonuç olarak bir boole değeri döndürür
  • Alt sorgu değerlerinden HERHANGİ BİRİ koşulu karşılıyorsa TRUE değerini döndürür

ANY aralıktaki değerlerden herhangi biri için işlem doğruysa koşulun doğru olacağı anlamına gelir.

HERHANGİ BİR Sözdizimi

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

Not: Operatör standart bir karşılaştırma operatörü olmalıdır (=, <>, !=, >, >=, < veya <=).


SQL ALL Operatörü

ALLoperatör :

  • sonuç olarak bir boole değeri döndürür
  • TÜM alt sorgu değerleri koşulu karşılıyorsa TRUE değerini döndürür
  • SELECT, WHEREve HAVINGifadeleri ile birlikte kullanılır

ALLkoşulun yalnızca, işlem aralıktaki tüm değerler için doğruysa doğru olacağı anlamına gelir. 

SELECT ile ALL Sözdizimi

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

WHERE veya HAVING ile ALL Sözdizimi

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL
  (SELECT column_name
 
FROM table_name
 
WHERE condition);

Not: Operatör standart bir karşılaştırma operatörü olmalıdır (=, <>, !=, >, >=, < veya <=).


Demo Veritabanı

Aşağıda, Northwind örnek veritabanındaki "Ürünler" tablosundan bir seçim bulunmaktadır :

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35
6 Grandma's Boysenberry Spread 3 2 12 - 8 oz jars 25
7 Uncle Bob's Organic Dried Pears 3 7 12 - 1 lb pkgs. 30
8 Northwoods Cranberry Sauce 3 2 12 - 12 oz jars 40
9 Mishi Kobe Niku 4 6 18 - 500 g pkgs. 97

Ve "Sipariş Detayları" tablosundan bir seçim:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40
6 10250 41 10
7 10250 51 35
8 10250 65 15
9 10251 22 6
10 10251 57 15


SQL HERHANGİ BİR Örnek

Aşağıdaki SQL deyimi, OrderDetails tablosunda Quantity'nin 10'a eşit HERHANGİ bir kaydı bulursa ProductName'i listeler (Quantity sütununda 10'luk bazı değerler olduğundan bu, TRUE değerini döndürür):

Örnek

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);

Aşağıdaki SQL deyimi, OrderDetails tablosunda Quantity'nin 99'dan büyük HERHANGİ bir kaydı bulursa ProductName'i listeler (Miktar sütununda 99'dan büyük bazı değerler olduğundan bu, TRUE değerini döndürür):

Örnek

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99);

Aşağıdaki SQL deyimi, OrderDetails tablosunda Miktar 1000'den büyük HERHANGİ bir kayıt bulursa ÜrünAdı'nı listeler (Miktar sütununun 1000'den büyük değeri olmadığı için bu YANLIŞ döndürür):

Örnek

SELECT ProductName
FROM Products
WHERE ProductID = ANY
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000);

SQL TÜM Örnekler

Aşağıdaki SQL deyimi TÜM ürün adlarını listeler:

Örnek

SELECT ALL ProductName
FROM Products
WHERE TRUE;

Aşağıdaki SQL deyimi, OrderDetails tablosundaki TÜM kayıtların Quantity değeri 10'a eşitse, ProductName'i listeler. Quantity sütununda birçok farklı değer olduğundan (yalnızca 10 değeri değil) bu elbette FALSE değerini döndürür:

Örnek

SELECT ProductName
FROM Products
WHERE ProductID = ALL
  (SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10);