SQL 03: WHERE Yan Cümlesi (Where Clause)
SELECT sorgularının yalnızca belli bir kritere uygun kayıtları getirmesini istiyorsak, sorguya WHERE anahtar sözcüğü ile başlayan ve gerekli koşulları içeren bir yan cümle ekleriz.
SELECT kolon_adı(ları)
FROM tablo_adı
WHERE koşul
Örnek: Aşağıdaki Kisiler
tablosunda yalnızca Ankara’da oturan kişileri seçmek istersek:
kisi_no | isim | soyisim | website | kent |
---|---|---|---|---|
1 | Harun Reşit | Zafer | hrzafer.com | İstanbul |
2 | Derya | Zaimoğlu | dz.net | Ankara |
3 | Meryem | Arkadaş | Kars | |
4 | Emir | Aydın | biracayipadam.com | Houston |
SELECT * FROM kisiler WHERE kent = 'Ankara'
Yukarıdaki sorgudan dönen sonuç kümesi aşağıdaki gibi olacaktır:
kisi_no | isim | soyisim | website | kent |
---|---|---|---|---|
2 | Derya | Zaimoğlu | dz.net | Ankara |
Aşağıdaki yazarlar tablosu için “ülkesi Rusya olan yazarlar” sorgusunu yazalım:
yazar_no | isim | soyisim | ulke | dogum_yili | olum_yili |
---|---|---|---|---|---|
1 | Lev | Tolstoy | Rusya | 1828 | 1910 |
2 | Fyodor | Dostoyevski | Rusya | 1821 | 1881 |
3 | Victor | Hugo | Fransa | 1802 | 1885 |
5 | Alev | Alatlı | Türkiye | 1944 | NULL |
SELECT * FROM yazarlar WHERE ulke='Rusya'
Sonuç kümesi aşağıdaki gibi olacaktır:
yazar_no | isim | soyisim | ulke | dogum_yili | olum_yili |
---|---|---|---|---|---|
1 | Lev | Tolstoy | Rusya | 1828 | 1910 |
2 | Fyodor | Dostoyevski | Rusya | 1821 | 1881 |
Doğum yılı 1825′ten büyük olan yazarlar:
SELECT * FROM yazarlar WHERE dogum_yili > 1825
yazar_no | isim | soyisim | ulke | dogum_yili | olum_yili |
---|---|---|---|---|---|
1 | Lev | Tolstoy | Rusya | 1828 | 1910 |
5 | Alev | Alatlı | Türkiye | 1944 | NULL |
Önemli: Tipi metin (text) olan alanlara karşılık gelen değerleri her zaman tırnak içerisinde yazıyoruz.
WHERE ulke='Rusya'
Sayısal değerleri ise her zaman tırnaksız yazıyoruz.
WHERE dogum_yili=1825
WHERE Yan Cümlesinde Kullanılan İşleçler (Operatörler)
İşleç | Tanım |
---|---|
= | Eşittir |
<> |
Eşit değildir |
> |
Büyüktür |
< |
Küçüktür |
>= |
Büyük eşit |
<= |
Küçük eşit |
BETWEEN | Arasında (bir değer aralığının) |
LIKE | Gibi |
IN | İçinde |
Yukarıdaki işleçler sayesinde aşağıdaki gibi farklı koşullar tanımlayabiliriz.
WHERE olum_yili < 1900
(1900 yılından önce ölenler)
WHERE soyisim <> 'Ali'
(Soyadı Ali olmayan kişiler)
WHERE isim < 'Can'
(Adı alfabetik olarak Can kelimesinden önce gelenler)
Not: BETWEEN
, LIKE
ve IN
işleçlerinin her birine ayrı bir yazıda yer vereceğim.
Ayrıca birden fazla koşul tanımlamak için kullanılan AND ve OR anahtar sözcüklerini de ayrı bir yazıda ayrıntılı olarak anlatacağım.
Herkese kolay gelsin
İlgili Diğer Makaleler
22 Temmuz 2009 Çarşamba tarihinde yayınlandı.