SQL Dersleri 6 – AND ve OR Operatörleri

AND ve OR operatörleri birden fazla durumuna göre kayıtları filtrelemek için kullanılır.

Birdan fazla arama koşulumuz varsa ve bunları AND operatörü ile bir birine bağlarsak sorgumuzdan dönen değerlerin bu koşulların hepsini sağlaması gerekir.
Bu koşullar OR operatörü ile bağlanırsa sorgudan gelen değerlerin koşullardan birini sağlaması yeterli olur.

AND ve OR operatörleri raporlamalarda ve çok fazla veri içeren veritabanlarından sorgunun süresini kısaltmak için sorgulancak verileri kısıtlamak amacı ile kullanılır.

AND Operatörü Örneği:
Kişiler Tablosu:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Şimdi, yukarıdaki Kisiler tablosundan Adi “Tove” olan ve “Sandnes” şehrinde olanları çekicek sorgumuzu yazalım.
Sorgumuz aşağıdaki gibi olur:

1
2
3
 SELECT * FROM Kisiler
 WHERE Sehir='Sandnes'
 AND Adi='Tove'

 

Sonuç aşağıdaki gibi olur:

K_Id Soyadi Adi Adres Sehir
2 Svendson Tove Borgvn 23 Sandnes

OR Operatörü Örneği:
Şimdide adi “Tove” veya “Ole” olan kişilerin sorgusunu yazalım.
Sorgu aşağıdaki gibi olmalıdır:

1
2
3
 SELECT * FROM Kisiler
 WHERE Adi='Ole'
 OR Adi='Tove'

 

Sorgumuzun çıktısı aşağıdaki gibi olur:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

AND ve OR Operatörlerinin Bir Arada Kullanılması
AND ve OR operatörlerinin beraber kullanımında karışıklıkları önlemek için genellikler parantez kullanılır.

Şimdi soyadi “Svendson” ve adida “Tove” veya “Ola” olanların sorgusunu yazalım.
Sorgu aşağıdaki gibi olur:
SQL WHERE Syntax Yapısı

1
2
3
 SELECT * FROM Kisiler WHERE
 Soyadi='Svendson'
 AND (Adi='Tove' OR Adi='Ola')

 

Sonuç aşağıdaki gibi olur:

P_Id LastName FirstName Address City
2 Svendson Tove Borgvn 23 Sandnes

SQL Dersleri 5 – WHERE Koşulu

WHERE koşulu, sorgularımızın (select, update, delete vb…) belirli bir kriteri ve koşulu yerine getirebilmesi kullanılır. Raporlamada ve güncelleme işlerimde çok büyük kolaylık ve hız sağlar.
Ayrıca birden çok tablodan veri çekeceğimiz zaman tabloların bir biri ile bağlanması içinde kullanılır. Bunu ileriki derslerimizde anlatacağım.

SQL WHERE Syntax Yapısı

1
2
3
 SELECT sütun_adlari
 FROM tablo_adi
 WHERE tablo_adi operatör değer

 

WHERE Koşulu Örneği:
The “Kisiler” tablosu:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Şimdi, yukarıdaki tabloda “Sandnes” adlı şehirde içinde yaşayan kişilerin seçmek için istiyorum.

Aşağıdaki SELECT sorgusu kullanalım:

1
2
 SELECT * FROM Kisiler
 WHERE Sehir='Sandnes'

 

Sonuç kümesi aşağıdaki gibi görünecektir:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

Sorgu içindeki metin(string) alanlar tek tırnak içinde yazılır.
Fakat sayı değerler için böyle bir kural yoktur.
Doğru Örnekler:

1
 SELECT * FROM Persons WHERE FirstName='Tove'

 

1
 SELECT * FROM Persons WHERE Year=1965

 

Yanlış Örnekler:

1
 SELECT * FROM Persons WHERE FirstName=Tove

 

1
 SELECT * FROM Persons WHERE Year='1965'

 

Where Koşulu ile Kullanılan Operatörler
WHERE yan tümcesi ile birlikte, aşağıdaki operatörler kullanılabilir:

Operatör Tanımı
= Eşittir
<> Eşit değil
> Büyüktür
< Küçüktür
>= Büyük veya eşit
<= Küçük veya eşit
BETWEEN Belli bir aralık arasında
LIKE Benzeri olanlar
IN Değişik verilerde seçme olanağı sunar

Not: SQL’in bazı sürümlerinde <> operatörü =! şeklinde yazılabilir.

SQL Dersleri 4 – SELECT DISTINCT Sorgusu

Bazı tablolarda tekrarlanan veya çoklayan değerler olabilir. Bazen bunlar hata nedenli bazende hatasız olarak sorgumuzun normal sonucu olarak gelir. Ama, biz eğer tablodaki farklı değerleri tek tek istiyorsak, yani farklı değerleri görmek istiyosak DISTINCT sorgusunu kullanırız.

SQL SELECT DISTINCT Syntax Yapısı

1
2
 SELECT DISTINCT sütun_adlari
FROM tablo_adi

 

SELECT DISTINCT Örneği
Kişiler tablosu:

K_Id Soyadi Adi Adres Sehir
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Şimdi yukarıdaki tabloda yer alan “Sehir” adlı sütun sadece farklı değerleri seçmek için aşağıdaki sorguyu yazıyoruz.

1
SELECT DISTINCT Sehir FROM Kisiler

Sorgunun sonuç kümesi aşağıdaki gibi görünecektir:

Sehir
Sandnes
Stavanger