Sql Karşılaştırma ve Mantıksal Operatörleri


Twitter'da Paylaş Favorilerime Ekle

Sql Karşılaştırma Operatörleri

= Eşitse

SELECT * FROM tabloAdi WHERE alan1 = "Değer1"

Not: Access programında çift tırnak, Sql Server'da ise tek tırnak kullanılarak sabit metinler belirtilir. Sayısal karşılaştırmalarda tırnak kullanılmaz.

SELECT * FROM ogrenci WHERE yas = 15

<> Eşit değilse. Çalışılan platforma göre != de kullanılabilir.

SELECT * FROM tabloAdi WHERE alan1 <> "Değer1"

> Büyükse

SELECT * FROM personel WHERE maasi > 1999

< Küçükse

SELECT * FROM matematik WHERE sinav1 < 50

>= Büyük veya eşitse

SELECT * FROM personel WHERE maasi >= 2000

<= Küçük veya eşitse

SELECT * FROM matematik WHERE sinav1 <= 49

BETWEEN ... AND ... Arasında ise

SELECT * FROM personel WHERE maasi BETWEEN 2000 AND 3000

Belirtilen sayılar da dahil olmak üzere arama yapılır. Bu örnekte 2000 ve 3000'e eşit olan kayıtlar da listelenecektir.

LIKE Metinsel ifade arama için

SELECT * FROM konular WHERE icerik LIKE “*sql*”

Bu örnekte icerik alanında sql ifadesi geçen tüm kayıtlar listelenecektir. * yerine Sql Server'da % kullanılır.

IN verilen değerlerden bir tanesine eşitse

SELECT * FROM personel WHERE unvani IN ( "Genel Müdür", "Müdür", "Müdür Yardımcısı" )

Bu örnekte personel tablosunda unvani alanı Genel Müdür, Müdür veya Müdür Yardımcısı olan kayıtlar listelenecektir.

Sql Mantıksal Operatörler

Where komutundan sonra belirtmemiz gereken birden fazla şart olduğunda, bu şartları aralarında and veya or koyarak yazabiliriz.

And (Ve) Operatörü Kullanımı

And ile belirtilen şartların tamamı gerçekleşiyorsa o kayıt listelenir, şartlardan bir tanesi bile tutmazsa listelenmez.

SELECT * FROM matematik WHERE sinav1 < 50 AND sinav2 < 50

Bu örnekte hem sınav1 hem de sınav2 alanı 50'den küçük olan kayıtlar listelenecektir.

Or (Veya) Operatörü Kullanımı

Or ile belirtilen şartlardan en az biri gerçekleşiyorsa o kayıt listelenir, şartlardan hiçbiri gerçekleşmiyorsa o kayıt listelenmez.

SELECT * FROM matematik WHERE sinav1 < 50 OR sinav2 < 50

Bu örnekte sınav1 veya sınav2 alanı 50'den küçük olan kayıtlar listelenecektir. 

Aynı Sorguda And ve Or Kullanmak

Yazmamız gereken şart sayısı ikiden de fazlaysa ve bunlardan bazılarının tamamı, bazılarının ise en az biri gerçekleşmeliyse parantez kullanmamız gerekir. 

İlk önce parantez içleri, sonra kalan kısımlar kontrol edilerek sorgu çalışacaktır.

SELECT * FROM matematik WHERE ( sinav1 >= 50 OR sinav2 >= 50 ) AND sinav3 >= 50

Yukarıdaki sorgu çalıştığında bir kaydın listelenmesi için;

  • sinav3 50'den büyük veya eşit olmalı
  • sinav1 ve sinav2 alanlarından da en az biri 50'den büyük veya eşit olmalı

SELECT * FROM personel
WHERE ( unvani = "İşçi" AND maasi >= 2000 )
OR 
( unvani = "Memur" AND maasi >= 2500 )

Bu sorgu çalıştığında bir kaydın listelenmesi için;

  • unvani İşçi ve maasi 2000'den büyük eşit olmalı veya
  • unvanı memur ve maasi 2500'den büyük eşit olmalıdır.
sql eşit değilse, aynı sorguda and ve or kullanımı, sql arasında olan kayıtları listeleme, sql in komutu kullanımı ve örnekleri, sql where kullanımı örnekleri