SQL Birden Fazla Koşula Göre Sorgulama (AND-OR Kullanımı)

sdkbyrm

webmasterfrm
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Ticaret: 0 / 0 / 0
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'
 
Üst