SQL de yazılan tek bir sorguda birden fazla koşul ifadesi verilebilir. Verilen bu koşullarda kullanılan sütunlar birbirinden farklı olabilir. Yazılan koşul sayısı farklı olduğu durumlarda koşulların birbirine AND yada OR mantıksal operatörü ile bağlanması gerekmektedir. Yazımızda AND ve OR mantıksal operatörlerinin SQL sorgusu içinde nasıl kullanıldığını gösteren örnekler oluşturacağız. Örneklerimizi aşağıdaki ogrenci tablosuna göre yazacağız.
AND Operatörü Kullanımı :
koşulun gerçekleşebilmesi için AND operatörüyle birbirine bağlanan koşul ifadelerinin tamamının sağlanması gerekmektedir.Örneğin 01.01.2013 tarihinden önce göreve başlayan ve maaşı 3500′ den büyük olan personelleri listelemek istersek iki koşulunda gerçekleşmesi gerektiğini kastetmiş oluyoruz. Bu durumda bu koşullar birbirine AND mantıksal operatörü ile bağlanacaktır.
Şimdi örneğimize geçelim.
Yukarıdaki ogrenci tablosunda 10A sınıfındaki kız öğrencilerin listelenmesini sağlayalım. Bu durumda sorgumuzu sınıfı 10A ve cinsiyeti K olan kayıtları listeleyeceğiz.
AND operatörünü sadece 2 koşul içindeğil daha fazla koşul içinde uygulayabiliriz. Mesela yukarıdaki örneğe ekleme yapalım. ogrenci tablosunda sınıfı 10A olan ve cinsiyeti kız olan ve adı Derya olan öğrencileri listeleyelim.
1 2 3 4 | SELECT *FROM ogrenci WHERE cinsiyet='K' AND sinif='10A' AND ograd='Derya' |
Örnek2: personel tablosunda maas<3000, gorev=’Mühendis’ ve adi=’Ali’ olan kayıtları maaşa göre sıralı bir şekilde listeleyelim.
1 2 3 4 5 | SELECT *FROM personel WHERE maas<3000 AND gorev='Mühendis' AND adi='Ali' ORDER BY maas |
OR Operatörü Kullanımı :
Or ifadesiyle birbirine bağlanan koşul ifadelerinin herhangi birisinin sağlanması durumunda koşul gerçekleşir. Yani verdiğimiz koşullardan herhangi birisinin gerçekleşmesi durumunda sorgumuz çalışacaktır.
Örnek : ogrenci tablosunda Sınıfı 10C olan yada cinsiyeti ‘E’ olan kayıtları listeleyelim.
Örnek 2 : personel tablosunda maas<2000 ya da gorev=’Teknisyen’ veya gorev=’Sekreter’ olan kayıtları listeleyelim.
1 2 3 4 | SELECT *FROM personel WHEREmaas<2000 OR gorev='Teknisyen' OR gorev='Sekreter' |
mukemmel