Harun Reşit Zafer

bâki kalan bu kubbede bir hoş sadâ imiş

SQL 03: WHERE Yan Cümlesi (Clause)

Schema SQLSELECT 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.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

4 Yorum

  1. Eyvallah kardeşim.. Allah razı olsun.. Verdiğin emekler için teşekkürler..

  2. Elinize sağlık burdaki bilgiler sınavımda çok yardımcı oldu
    .

  3. Kanka on numara yapmissin eline saglik

  4. helal olsun vallahi

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak

*

© 2016 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑