mobilhanem-SQL-Dersleri

SQL AND, OR ve NOT Operatörleri

Merhaba Arkadaşlar,
Mobilhanem.com sitesi üzerinden SQL Dersleri ‘ne devam ediyoruz. Bu derste SQL AND, OR ve NOT Operatörleri  konularını işleyeceğiz. Bir önceki derslerimizde tablolar üzerinde select ile sorgu işlemleri yapmıştık. Bu derste ise mantıksal sorgu sorgu işlemlerini birlikte göreceğiz.

SQL AND, OR ve NOT Operatörleri

Bir tablo üzerinde birden fazla koşullu durumlar için kullanılan mantıksal  SQL sorgu komutları dır. Hemen  daha önce oluşturmuş olduğumuz yazarlar isimli tablomuza bakalım.

Örneğin Taha Kırca  isimli yazarın birden fazla farklı yazısı var hemen görelim;

SELECT *FROM yazarlar WHERE yazar_isim ='Taha'

Görüldüğü gibi aynı yazar 3 farklı yazı serisi yazmış.

AND Operatörü

Biz burada hem yazar adı Taha olan yazarı hem de yazdığı ders sayısı 30’dan büyük bilgileri olan satırı çekmek istiyoruz. Yani birden fazla koşulu sağlayan satırları elde etmek istiyoruz bunun için AND operatörünü kullanıyoruz.

Burada koşulun sağlanması durumuna “1” sağlanmadığı duruma “0” dersek sadece iki koşulunda sağlandığı durumda sonucumuz  sağlanmış olacak diğer  durumlarda sonucumuz 0 yani sağlanmıyor olacak. Yani sonuç sağlanması için tüm durumların sağlanması gerekiyor.

       KOSUL 1          KOŞUL 2 SONUÇ
0 0 0
0 1 0
1 0 0
1 1 1
SELECT *FROM yazarlar WHERE yazar_isim = 'Taha' AND ders_sayisi >30

Bu koşulları sağlayan iki satır elde etmiş olduk.

Not: Burada dikkat etmeniz gereken başka bir nokta karakterlerden oluşan sütunlar  için tırnak işareti içinde yazıyoruz.

OR Operatörü

Az önce aynı anda iki farklı koşulu sağlayan verileri çektik. Şimdi iki koşuldan birisini sağlayan verileri yanı satırları çekelim bunun için SQL sorguları için OR operatörünü kullanıyoruz ; Burada yine aynı şekilde iki koşul olduğunu var sayarsak iki koşulun sadece sağlanmadığı durumlarda sonuç sağlanmıyor diğer tüm durumlarda sonuç sağlanıyor. Yani en az bir koşulun sağlaması gerekiyor.

       KOSUL 1          KOŞUL 2 SONUÇ
0 0 0
0 1 1
1 0 1
1 1 1

Şimdi tablo üzerinde yazar adı Taha  veya ders sayısı 20 ve 20’dan büyük verileri çekelim.

SELECT *FROM yazarlar WHERE yazar_isim = 'Taha' OR ders_sayisi >=20

Gördüğünüz gibi yazar adı Taha olan veya ders sayısı 20 den büyük olan yazarları listelemiş olduk.

NOT Operatörü

Belirtilen ifadenin dışında ki tüm verileri çekmek için kullanılır. Yani koşulun tersi durumlarda sonuç sağlanmış oluyor. Hemen tablomuzu görelim.

Örneğin yazar ismi cahit olmayan tüm yazarları çekelim.

SELECT *FROM yazarlar WHERE  NOT yazar_isim='Cahit'

Gördüğünüz yazar ismi Cahit dışında olan tüm yazarlar için bir tablo elde etmiş olduk.

Şimdi biraz daha karmaşık sorgular için örnekler yapalım.

Örneğin adı Taha yazdığı ders java ve dersin yazı sayısı 30’dan büyük olan yazıları çekelim;

SELECT * FROM yazarlar WHERE (yazar_isim= 'Taha') AND (yazar_ders= 'JAVA') AND (ders_sayisi >30)

Başka bir örnek daha yapalım;

Yazar ismi “Taha” ve “Alper” olan veya ders sayısı 30’dan büyük ve 100’den küçük olanları alalım.

SELECT * FROM yazarlar WHERE (yazar_isim= 'Taha' AND yazar_isim = 'Alper') OR (ders_sayisi >30 AND ders_sayisi <100)

Son bir örnekle dersi bitirelim.

Yazar ismi “Taha” olmayan ve ders sayısı 20’den küçük veya 80’den büyük satırları alalım.

SELECT * FROM yazarlar WHERE NOT (yazar_isim= 'Taha') AND (ders_sayisi <20 OR ders_sayisi >80)

 

Mobilhanem.com da SQL Dersleri eğitim serisinde bir yazının daha sonuna geldik.Bu dersimizde SQL AND, OR ve NOT sorgu komutlarını işledik. Bir sonraki derste SQL LIKE ve AND Komutlarını dersini işleyeceğim. Eksik yada yanlış gördüğünüz bir yer varsa SORU- CEVAP kısmından veya dersin altındaki yorum kısmında veya iletişim bilgilerimden bana ulaşabilirsiniz bir sonraki derste görüşmek üzere.

Tüm SQL Dersleri

23

Cahit İşleyen

Data Scientist at @Embedica.ai
Python ve Linux sever.
Çay tiryakisi

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?