SQL #Ders 7 |Mantıksal Operatörler
Merhabalar, bu dersimizde mantıksal operatörleri işleyeceğiz.
Mantıksal Operatörler Nedir?
SQL‘de şart/koşul ifadelerini birleştirmek için AND, OR ve NOT ifadelerinden faydalanılmaktadır. İki şart ifadesi AND ifadesi ile birleştirildiği zaman iki şartında sağlanması gerekmektedir. Yine öğrencilerden bir örnek verecek olursak daha basit olarak kafamıza oturacağını düşünüyorum. Örneğin bizim bir sorgu cümlesi yazmamız gerekiyor ve bizim bir okulumuz var. Sorgu cümlemizin bize buradan istediğimiz iki adet kritere uygun olan öğrencileri getirmesini istiyoruz. Bu şartlarımız da şöyle olsun; adı Ahmet olan ve(AND) 10 yaşında olanları getirsin.
Örnek Öğrenci Tablomuz
Ad | Soyad | Yas |
---|---|---|
ahmet | tarık | 10 |
ahmet | yılmaz | 8 |
ali | hakkı | 12 |
mehmet | aydın | 10 |
Örnek Sql Scripti
Burada AND komutu kullanarak her 2 şartında sağlanması durumundaki kayıtları bize getirmesini sağladık. Örneğin 2 şarttan birisi sağlanmadığı durumlarda sql server bize her hangi bir kayıt getirmeyecekti. Ancak yukarıda verdiğimiz örnek tablomuza göre bize burada bir adet kayıt getirecektir.
SELECT * FROM ogrenci WHERE Ad ='Ahmet' AND Yas ='10'
Ekran Çıktısı
Ad | Soyad | Yas |
---|---|---|
ahmet | tarık | 10 |
SQL’de OR Kullanımı
OR komutunda ise AND komutuna nispeten iki şarttan birinin sağlanması yeterli olacaktır. Yukarıda örnek öğrenci tablomuzu baz olarak buna da bir örnek verecek olursak.
/* SQL'de OR kullanım örneği */
SELECT * FROM ogrenci WHERE Ad ='Ahmet' OR Yas ='10'
Ekran Çıktısı:
Sadece 3. sırada yer alan Ali adındaki öğrencimizin bu ekran çıktısında yer almadığını göreceğiz.
Ad | Soyad | Yas |
---|---|---|
ahmet | tarık | 10 |
ahmet | yılmaz | 8 |
mehmet | aydın | 10 |
SQL’de NOT Kullanımı
Son olarak NOT komutunun kullanımına gelecek olursak. Not operatörünün sadece bir işlevi vardır, kendisinden sonra gelen mantıksal ifadeyi tersine çevirmektir.
Örnek Kod
/* SQL'de NOT kullanım örneği */
SELECT * FROM ogrenci WHERE NOT Ad ='Ahmet'
Ekran Çıktısı
Ad | Soyad | Yas |
---|---|---|
ali | hakkı | 12 |
mehmet | aydın | 10 |
Hatırlatma: Unutmamamız gereken bir diğer konu ise AND operatörünün OR operatörüne göre işlem önceliği olmasıdır. Eğer buna dikkat etmeyecek olursak yazdığımız sorgularımızda mantık hatalarına düşebiliriz. Bu sorunun önüne geçebilmek içinse parantezlerden faydalanabiliriz.
Bu dersimiz bu kadardı bir sonraki dersimizde görüşmek üzere, hoşça kalın…