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:
Not: Bu arada diğer SQL derslerine buradan ulaşabilirsiniz
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.
25 Aralık 2013 at 08:25
Eyvallah kardeşim.. Allah razı olsun.. Verdiğin emekler için teşekkürler..
05 Haziran 2014 at 08:08
Elinize sağlık burdaki bilgiler sınavımda çok yardımcı oldu
.
12 Haziran 2014 at 04:54
Kanka on numara yapmissin eline saglik
25 Aralık 2014 at 07:17
helal olsun vallahi
24 Ağustos 2016 at 06:19
gerçekten çok akılda kalıcı ve sade bir anlatım olmuş,
emeğinize sağlık