SQL Dilinde WHERE Kullanımı: Detaylı Rehber
SQL'de WHERE yan tümcesi, bir veri kümesinden belirli kriterlere uyan kayıtları seçmek, güncellemek veya silmek için kullanılan temel bir bileşendir. Bu yan tümce, sorgularınıza güçlü bir filtreleme yeteneği kazandırarak, büyük veri tabanlarından yalnızca ihtiyacınız olan bilgileri verimli bir şekilde almanızı sağlar. Doğru kullanımı, veritabanı yönetiminde performansı ve doğruluğu doğrudan etkiler.
Sözdizimi
WHERE yan tümcesinin SELECT deyimiyle genel kullanım yapısı aşağıdaki gibidir:
SELECT kolon1, kolon2, ...
FROM tablo_adı
WHERE koşul;Detaylı Açıklama
SELECT kolon1, kolon2, ...: Bu kısım, sonuç kümesinde görüntülenmesini istediğiniz sütunları belirtir. Tüm sütunları seçmek için*karakteri kullanılabilir.FROM tablo_adı: Verilerin çekileceği tablonun adını belirtir.WHERE koşul: Bu,WHEREyan tümcesinin çekirdeğidir. Belirtilenkoşuldoğru (TRUE) olan her satır sonuç kümesine dahil edilir.koşulbir veya daha fazla karşılaştırma operatörü (=,<>,>,<,>=,<=), mantıksal operatörler (AND,OR,NOT) ve diğer SQL fonksiyonlarını içerebilir.
Pratik Kullanım Örnekleri
Aşağıda, WHERE yan tümcesinin farklı senaryolarda nasıl kullanıldığını gösteren pratik örnekler bulunmaktadır.
1. Eşitlik Kontrolü (=): Belirli bir değere eşit olan kayıtları seçmek için kullanılır.
SELECT UrunAdi, Fiyat
FROM Urunler
WHERE Kategori = 'Elektronik';Açıklama: Bu sorgu, Urunler tablosundan Kategori sütunu 'Elektronik' olan tüm ürünlerin adını ve fiyatını getirir.
2. Büyüktür/Küçüktür (>, <): Sayısal veya tarihsel değerleri karşılaştırmak için kullanılır.
SELECT SiparisID, ToplamTutar
FROM Siparisler
WHERE ToplamTutar > 100;Açıklama: Bu sorgu, Siparisler tablosundan ToplamTutar sütunu 100'den büyük olan tüm siparişleri getirir.
3. AND Operatörü: Birden fazla koşulun aynı anda doğru olmasını gerektirir.
SELECT MusteriAdi, Sehir, Yas
FROM Musteriler
WHERE Sehir = 'Ankara' AND Yas > 30;Açıklama: Bu sorgu, Musteriler tablosundan Sehir sütunu 'Ankara' olan VE Yas sütunu 30'dan büyük olan müşterileri getirir.
4. OR Operatörü: Belirtilen koşullardan en az birinin doğru olmasını gerektirir.
SELECT CalisanAdi, Departman
FROM Calisanlar
WHERE Departman = 'IT' OR Departman = 'IK';Açıklama: Bu sorgu, Calisanlar tablosundan Departman sütunu 'IT' VEYA 'IK' olan çalışanları getirir.
5. LIKE Operatörü: Belirli bir desene uyan string değerlerini aramak için kullanılır. % joker karakteri herhangi bir sayıda karakteri, _ joker karakteri ise tek bir karakteri temsil eder.
SELECT UrunAdi
FROM Urunler
WHERE UrunAdi LIKE 'Bilgisayar%';Açıklama: Bu sorgu, Urunler tablosundan UrunAdi sütunu 'Bilgisayar' ile başlayan tüm ürünleri getirir.
6. IN Operatörü: Bir sütunun belirtilen değerler listesi içinde olup olmadığını kontrol eder.
SELECT MusteriAdi, Sehir
FROM Musteriler
WHERE Sehir IN ('İstanbul', 'İzmir', 'Bursa');Açıklama: Bu sorgu, Musteriler tablosundan Sehir sütunu 'İstanbul', 'İzmir' veya 'Bursa' olan müşterileri getirir.
7. BETWEEN Operatörü: Bir değerin belirli bir aralıkta (dahil) olup olmadığını kontrol eder.
SELECT UrunAdi, Fiyat
FROM Urunler
WHERE Fiyat BETWEEN 50 AND 150;Açıklama: Bu sorgu, Urunler tablosundan Fiyat sütunu 50 ile 150 arasında olan (50 ve 150 dahil) tüm ürünleri getirir.
8. IS NULL / IS NOT NULL: Bir sütunun NULL değer içerip içermediğini kontrol eder.
SELECT CalisanAdi
FROM Calisanlar
WHERE Telefon IS NULL;Açıklama: Bu sorgu, Calisanlar tablosundan Telefon numarası boş (NULL) olan çalışanları getirir.
Önemli Notlar
Veritabanı sistemine bağlı olarak, string karşılaştırmaları büyük/küçük harf duyarlı olabilir. Hassas aramalarda
LOWER()veyaUPPER()fonksiyonlarını kullanmayı düşünebilirsiniz.WHEREyan tümcesinde kullanılan sütunlara indeks eklemek, sorgu performansını önemli ölçüde artırabilir. Özellikle büyük tablolar üzerinde sıkça filtrelenen sütunlar için indeksleme kritik öneme sahiptir.NULLdeğerler özel bir durumdur ve eşitlik operatörü (=) ile karşılaştırılamaz. Bunun yerineIS NULLveyaIS NOT NULLkullanılmalıdır. Örneğin,WHERE kolon = NULLbeklenen sonucu vermeyecektir.Karmaşık koşulları gruplamak için parantezler
()kullanılabilir. Bu, mantıksal operatörlerin (AND,OR) işlem önceliğini açıkça belirtmenize yardımcı olur ve sorgunun okunabilirliğini artırır.WHEREyan tümcesi yalnızcaSELECTdeğil, aynı zamandaUPDATEveDELETEdeyimleriyle de kullanılarak belirli kayıtların güncellenmesini veya silinmesini sağlar.
        
                
            
            
Yorum yap
Yorumlar