Veri tabanından belirli kriter veya koşullara göre kayıtları listelemek için WHERE ifadesini kullanmamız gerekir. WHERE ifadesi, yalnızca belirli bir koşulu yerine getiren kayıtları filtrelemek için kullanılır.
SELECT kolon-adı veya kolon-adları FROM tablo-adı WHERE koşul
Id | Ad | Soyad | Sehir | Cinsiyet |
1 | Ahmet | Yılmaz | İstanbul | E |
2 | Mehmet | Kaya | Ankara | E |
3 | Buse | Demir | İstanbul | K |
Örnek 1: Cinsiyeti erkek olan müşterilerin ad ve soyadlarını listeleyen SQL sorgusunu yazınız.
SELECT Ad, Soyad FROM Musteriler WHERE Cinsiyet='E'
Ad | Soyad |
Ahmet | Yılmaz |
Mehmet | Kaya |
Örnek 2: İstanbul şehrinde yaşayan müşterilerin tüm bilgilerini listeleyen SQL sorgusunu yazınız.
SELECT * FROM Musteriler WHERE Sehir='İstanbul'
Id | Ad | Soyad | Sehir | Cinsiyet |
1 | Ahmet | Yılmaz | İstanbul | E |
3 | Buse | Demir | İstanbul | K |
Şimdiye kadar sadece tek bir koşul verdik ancak istersek birden fazla koşul verebiliriz. Bunun için her koşulun arasına AND veya OR ifadesini de yazmamız gerekmekte.
AND ifadesini yazarsak tüm koşulların sağlandığı kayıtlar listelenecektir.
OR ifadesini yazarsak herhangi bir koşulun sağlanması yeterli olacaktır.
Örnek 3: Cinsiyeti kadın olan ve İstanbul şehrinde yaşayan müşterileri listeleyen SQL sorgusunu yazınız.
SELECT * FROM Musteriler WHERE Cinsiyet='K' AND Sehir='İstanbul'
Id | Ad | Soyad | Sehir | Cinsiyet |
3 | Buse | Demir | İstanbul | K |
Örnek 4: Ankara şehrinde yaşayan veya cinsiyeti kadın olan müşterileri listeleyen SQL sorgusunu yazınız.
Id | Ad | Soyad | Sehir | Cinsiyet |
2 | Mehmet | Kaya | Ankara | E |
3 | Buse | Demir | İstanbul | K |
SELECT * FROM Musteriler WHERE Cinsiyet='K' OR Sehir='Ankara'
WHERE İfadesi İle Kullanılabilen Operatörler
Şimdiye kadar olan örneklerde hep = (eşittir) ifadesini kullandık ancak bundan başka ifadelerde kullanmamız mümkündür. Bunlar;
İş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 |
LIKE | Gibi |
IN | İçinde |
Yukarıdaki işleçler sayesinde çok daha farklı sorgular yazabiliriz. Tablomuzun adı Personel olsun ve örneklerimize bir bakalım.
Id | Ad | Soyad | Maas | Cinsiyet | Dogum_Yili |
1 | Ahmet | Yılmaz | 5950 | E | 1991 |
2 | Mehmet | Kaya | 2867 | E | 1995 |
3 | Buse | Demir | 6635 | K | 1996 |
4 | Burcu | Çelik | 2760 | K | 1987 |
Örnek 1: Maaşı 3 bin TL’den fazla olan personelleri listeleyen SQL sorgusunu yazınız.
SELECT * FROM Personel WHERE Maas>3000
Id | Ad | Soyad | Maas | Cinsiyet | Dogum_Yili |
1 | Ahmet | Yılmaz | 5950 | E | 1991 |
3 | Buse | Demir | 6635 | K | 1996 |
Yukarıdaki örnekte de gördüğünüz gibi, sayısal ifadeler ile koşul yazarken tırnak işareti kullanmamamız gerekir.
Örnek 2: Adı Burcu olmayan çalışanları listeleyen SQL sorgusunu yazınız.
SELECT * FROM Personel WHERE Ad <> 'Burcu'
Id | Ad | Soyad | Maas | Cinsiyet | Dogum_Yili |
1 | Ahmet | Yılmaz | 5950 | E | 1991 |
2 | Mehmet | Kaya | 2867 | E | 1995 |
3 | Buse | Demir | 6635 | K | 1996 |
Örnek 3: Doğum yılı 1995’ten küçük olan personelleri listeleyen SQL sorgusunu yazınız.
SELECT * FROM Personel WHERE Dogum_Yili<1995
Id | Ad | Soyad | Maas | Cinsiyet | Dogum_Yili |
1 | Ahmet | Yılmaz | 5950 | E | 1991 |
4 | Burcu | Çelik | 2760 | K | 1987 |
Son Yorumlar