SQL’de AND ve OR Kullanımı

AND (VE) ve OR (VEYA) kullanımı ile ilgili bir önceki yazımda az da olsa değinmiştim. Şimdi ise birden fazla koşul vermemiz gereken sorgular için AND ve OR kullanımını anlatacağım.

  • AND işlecinin istenilen kaydı getirebilmesi için her iki ifadenin de doğru olması gerekmektedir.
  • OR işlecinin istenilen kaydı getirebilmesi için iki ifadeden en az birinin doğru olması gerekmektedir.

Örnekler üzerinden anlatırsak daha anlaşılır olacaktır. Yazıda kullanacağımız Musteriler tablosu şöyle:

IdAdSoyadSehirCinsiyetDogum_Yili
1AyşenAksoyİstanbulK1991
2EdaKayaAnkaraK1985
3ElifŞahinİzmirK1994
4BurakŞahinİstanbulE1994
5MertNamlıKastamonuE1994
6ZeynepÖzÇanakkaleK1995
7MuratÖzgümüşİzmirE1995
8TunahanÖlmezBursaE2001

AND Örnekleri

Örnek 1: İzmir‘de yaşayan ve erkek olan müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE Sehir='İzmir' AND Cinsiyet='E'
IdAdSoyadSehirCinsiyetDogum_Yili
7MuratÖzgümüşİzmirE1995

AND ifadesinin doğru sonuç döndürmesi için her iki koşulunda doğru olması gerektiğini söylemiştik. Bu örneğimizde İzmir’de yaşayan ve cinsiyeti erkek olan kayıtları listeledik. Aslında İzmir’de yaşayan 2 müşterimiz vardı ancak erkek olan kayıtları listelemek istediğimiz için sadece 1 kayıt listelendi.

Örnek 2: Soyadı Şahin olan kadın müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE Soyad='Şahin' AND Cinsiyet='K'
IdAdSoyadSehirCinsiyetDogum_Yili
3ElifŞahinİzmirK1994

Örnek 3: 1994 yılında doğan erkek müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE Dogum_Yili=1994 AND Cinsiyet='E'
IdAdSoyadSehirCinsiyetDogum_Yili
4BurakŞahinİstanbulE1994
5MertNamlıKastamonuE1994

OR Örnekleri

Örnek 1: 1995 yılında doğan veya İstanbul’da yaşayan müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE Dogum_Yili=1995 OR Sehir='İstanbul'
IdAdSoyadSehirCinsiyetDogum_Yili
1AyşenAksoyİstanbulK1991
4BurakŞahinİstanbulE1994
6ZeynepÖzÇanakkaleK1995
7MuratÖzgümüşİzmirE1995

Örnek 2: Soyadı ‘Şahin‘ veya ‘Kaya‘ olan müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE Soyad='Şahin' OR Soyad='Kaya'
IdAdSoyadSehirCinsiyetDogum_Yili
2EdaKayaAnkaraK1985
3ElifŞahinİzmirK1994
4BurakŞahinİstanbulE1994

Örnek 3: Kadın olan veya Kastamonu‘da yaşayan müşterileri listeleyen SQL sorgusunu yazınız.

IdAdSoyadSehirCinsiyetDogum_Yili
1AyşenAksoyİstanbulK1991
2EdaKayaAnkaraK1985
3ElifŞahinİzmirK1994
5MertNamlıKastamonuE1994
6ZeynepÖzÇanakkaleK1995

AND ve OR İşleçlerinin Birlikte Kullanımı

AND ve OR işleçlerini birarada kullanmayı düşünüyorsanız parantez kullanmayı sakın unutmayın aksi takdirde

Örnek 1: Cinsiyeti erkek olan ve soyadı “Namlı” veya “Ölmez” olan müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE Cinsiyet='E' AND (Soyad='Namlı' OR Soyad='Ölmez')
IdAdSoyadSehirCinsiyetDogum_Yili
5MertNamlıKastamonuE1994
8TunahanÖlmezBursaE2001

Örnek 2: İstanbul’da yaşayan kadın veya 1995 yılında doğan erkek müşterileri listeleyen SQL sorgusunu yazınız.

SELECT * FROM Musteriler WHERE (Sehir='İstanbul' AND Cinsiyet='K') OR (Dogum_Yili=1995 AND Cinsiyet='E')
IdAdSoyadSehirCinsiyetDogum_Yili
1AyşenAksoyİstanbulK1991
7MuratÖzgümüşİzmirE1995

Bunlar gibi çok daha fazla örnek sorgu oluşturabilirsiniz. Takıldığınız bir yer olursa lütfen yorum yapmayı unutmayın.