Özet: Sonuç kümesindeki satırları filtrelemek için SELECT ifadesinde MySQL WHERE yan tümcesinin nasıl kullanılacağını öğreneceksiniz. Yazıdaki örneklerde aşağıdaki veritabanı kullanılacaktır.
Örnek Veritabanı
Örnek veritabanında aşağıdaki OGRENCI tablosuna bakın. Yedi sütunu vardır: ogrno, ograd, ogrsoyad, cinsiyet, dtarih, sinif ve puan gibi birçok satır.
MySQL WHERE ifadesine giriş
WHERE deyimi, sorgu tarafından döndürülen satırlar için arama koşulunu belirtmenizi sağlar. Aşağıdaki WHERE yan tümcesinin sözdizimini gösterir:
1 2 3 4 5 6 7 8 | SELECT sutun yada sutunlar FROM tablo_adı WHERE arama_ifadesi; |
arama_ifadesi, AND, OR ve NOT mantıksal operatörünü kullanarak bir veya daha fazla yüklemin bir birleşimidir. SQL’de bir yüklem, doğru, yanlış veya bilinmeyen olarak değerlendirilen bir ifadedir.
tablo_adı öğesinin arama_ifadesi öğesinin true olarak değerlendirilmesine neden olan herhangi bir satır nihai sonuç kümesine dahil edilir.
SELECT ifadesinin yanı sıra, UPDATE ve DELETE ifadesindeki WHERE deyimini kullanarak hangi satırların güncelleneceğini veya silineceğini belirtebilirsiniz.
İlginizi çekebilir: MySQL Dersleri
MySQL WHERE Örnekleri
Sorgularda yukarıdaki veritabanı kullanılmıştır.
Örnek Sorgu: Aşağıdaki sorguda kız öğrencileri listeleyen sorgu yazılmıştır.
1 2 3 4 | SELECT * FROM ogrenci WHERE cinsiyet='K' |
Örnek Sorgu: Başka bir örnekte de sınıfı 11A olan Erkek öğrencilerin adını, soyadını ve sınıfını listeleyen sorgu yazılmıştır.
1 2 3 4 5 6 7 8 | SELECT ograd,ogrsoyad,sinif FROM ogrenci WHERE cinsiyet='E' and sinif='11A' |
Yukarıdaki sorgu gibi basit bir koşul ya da çoklu ifadeleri mantıksal işleçlerle birleştiren çok karmaşık bir durum oluşturabilirsiniz.
Örnek Sorgu: Örneğin, türü 2 olan ve sayfa sayısı 100 ile 200 arasında olan kitapların adını ve sayfa sayısını listeleyen sorguyu yazalım.
1 2 3 4 5 6 7 8 | SELECT kitapad, sayfasayisi FROM kitap WHERE sayfasayisi >=100 AND sayfasayisi<=200 AND turno=2 |
Ayrıca bu sorguyu BETWEEN kullanarak da yapılabilir.
1 2 3 4 5 6 7 8 | SELECT kitapad, sayfasayisi FROM kitap WHERE sayfasayisi BETWEEN 100 AND 200 AND turno=2 |
Aşağıdaki tabloda, WHERE yan tümcesinde filtreleme ifadeleri oluşturmak için kullanabileceğiniz karşılaştırma operatörleri gösterilmektedir.
Operator | Tanım |
---|---|
= | Eşittir. Tüm veri tipleri ile kullanılabilir. |
<> yada != | Eşit değildir |
< | Küçüktür. Tüm veri tipleri ile kullanılabilir. |
> | Büyüktür. Tüm veri tipleri ile kullanılabilir. |
<= | Küçük eşittir. |
>= | Büyük eşittir. |
Örnek Sorgu: Aşağıdaki sorguda sınıfı 11A olmayan öğrencileri listeleyen sorgu mevcuttur.
1 2 3 4 5 6 7 8 | SELECT * FROM ogrenci WHERE sinif <> '11A' |
Daha fazla MySQL konusu için sitedeki SQL sekmesi altındaki veritabanı ve veritabanları konularına bakabilirsiniz.
Örnek Sorgu: Bu örnekte sayfa sayısı 100 sayfa ve altında olan kitapların tüm bilgileri getirilir.
1 2 3 4 5 | SELECT * FROM kitap WHERE sayfasayisi <=100 |
MySQL WHERE ifadesi hakkında daha fazla…
MySQL, WHERE yan tümcesinde ile daha fazla karışık SQL sorgusu oluşturmak için aşağıdaki operatörleri de desteklemektedir.
- BETWEEN, bir değerler aralığında değerler seçer.
- LIKE, kalıp eşleştirmeye göre değerleri eşleştirir.
- IN, bir değerin kümedeki herhangi bir değerle eşleşip eşleşmediğini belirtir.
- IS NULL, değerin NULL olup olmadığını kontrol eder.
Bu derste , koşullara göre satırları filtrelemek için MySQL WHERE yan tümcesini kullanmayı öğrendiniz.
1 Yorum