SQL’DE Where Komutu ve Operatörler

WHERE KOMUTU
‘SQL Kavramları ve Temel SQL Komutları’ yazımda değindiğim Where komutuna bugün birlikte göz atacağız. Select, Update, Delete komutlarıyla birlikte yaygın bir şekilde kullanılan Where komutu bizim spesifik işlemleri gerçekleştirmemizi sağlar. Örnek olarak binlerce satırlık veri tabanlarından Select sorgusu ile bizim için önemli olan satırı görüntüleyebilir ya da Update komutuyla bu satırlarda istediğimiz güncellemeleri yapabiliriz. Yani başka bir ifadeyle Where komutu bir veri tabanın içinden belirli özellikleri karşılayan verilerin manipüle edilmesini sağlar.
Where komutunu hali hazırda yazabildiğimiz Select, Update ve Delete komutlarından sonra komut satırının sonuna ekleyerek kullanırız.
SYNTAX
SELECT <Kolon adları> FROM <Veri tablosunun adı> WHERE <kolon adı> <operator> <İstenilen özellik>
ÖRNEK

Yukarıdaki bulunan STUDENTS tablosunda yer alan veriler ışığında birkaç işlem yapalım.
1) Şehri İstanbul olan öğrencilerin verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE CITY=’İstanbul’
komutunu kullanırız.
Sorgunun Çıktısı:

2)Yaşı 21’den küçük olan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE AGE < 21
komutunu kullanırız.
Sorgunun Çıktısı:

3)Şehri Malatya olanların şehirlerini İstanbul olarak güncellemek için
UPDATE STUDENTS SET CITY=’İstanbul’ WHERE CITY=’Malatya’
komutunu kullanırız.
Tablonun Yeni Hali:

4)ID numarası 10 olan kullanıcıyı silmek için
DELETE FROM STUDENTS WHERE ID=10
komutunu kullanırız.
Tablonun Son Hali:

SQL Operatörleri
Aritmetik Operatörler
+ Operatörü
İki değeri toplarken kullandığımız operatördür.
ÖRNEK
3 ve 5'in toplamını yazdırmak için
SELECT 3+5
komutunu kullanabiliriz.
- Operatörü
İki değerin farkını alırken kullandığımız operatördür.
ÖRNEK
4 ile 3'ün farkını yazdırmak için
SELECT 4–3
komutunu kullanabiliriz.
* Operatörü
İki değeri çarparken kullandığımız operatördür.
ÖRNEK
2 ve 2'in çarpımını yazdırmak için
SELECT 2*2
komutunu kullanabiliriz.
/ Operatörü
İki değerin bölümünü alırken kullandığımız operatördür.
ÖRNEK
4'ün 2'ye bölümünü yazdırmak için
SELECT 4/2
komutunu kullanabiliriz.
% Operatörü
Bir değerin modunu bulmak için kullandığımız operatördür.
ÖRNEK
5'in 2'ye bölümünden kalanı yazdırmak için
SELECT 5%2
komutunu kullanabiliriz.
Karşılaştırma Operatörleri
= Operatörü
Eşittir operatörü ile referans değerimiz ile herhangi bir verinin eşit olma durumunu kıyaslayabiliriz.
Örnek
Students tablosunda ID’si 2 olan kullanıcının verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE ID=2
komutunu kullanırız.
Ekran Çıktısı:

> Operatörü
Büyüktür operatörü ile referans değerimiz ile herhangi bir verinin büyüklük kıyaslamasını yapabiliriz.
Örnek
Students tablosundaki 20 yaşından büyük kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE AGE > 20
komutunu kullanırız.
Ekran Çıktısı:

< Operatörü
Küçüktür operatörü ile referans değerimiz ile herhangi bir verinin küçüklük kıyaslamasını yapabiliriz.
Örnek
Students tablosundaki ID numarası 4'ten küçük kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE ID < 4
komutunu kullanırız.
Ekran Çıktısı:

>=Operatörü
Büyük eşittir operatörü ile bir verinin referans aldığımız değere eşitliğini ve büyüklüğü durumunu ölçebiliriz.
Örnek
Students tablosundaki 20 yaşındaki ve 20 yaşından büyük kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE AGE >= 20
komutunu kullanırız.
Ekran Çıktısı:

<= Operatörü
Küçük eşittir operatörü ile bir verinin referans aldığımız değere eşitliğini ve küçüklüğü durumunu ölçebiliriz.
Örnek
Students tablosundaki 22 yaşındaki ve 22 yaşından küçük kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE AGE <= 22
komutunu kullanırız.
Ekran Çıktısı:

<> Operatörü
Eşit değildir operatörü ile referans değerimiz ile herhangi bir verinin eşit olmama durumunu kıyaslayabiliriz.
Örnek
Students tablosundaki kullanıcılardan ID’si 1 olmayan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE ID <> 1
komutunu kullanırız.
Ekran Çıktısı:

Lojik Operatörler
AND Operatörü
İki değeri birlikte kıyaslarken ikisinin doğru olması durumunda işlemi gerçekleştirmemizi sağlayan operatördür. İşlemi gerçekleştirebilmemiz için iki değerinde doğru olması gerekir.
Örnek
Students tablosundaki kullanıcılardan erkek olan ve İstanbul’da yaşayan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE CITY=’İSTANBUL’ AND GENDER=’E’
komutunu kullanırız.
Ekran Çıktısı:

OR Operatörü
İki değeri birlikte kıyaslarken ikisinden birinin doğru olması durumunda işlemi gerçekleştirmemizi sağlayan operatördür. İşlemi gerçekleştirebilmemiz için iki değerden birinin doğru olması gerekir.
Örnek
Students tablosundaki kullanıcılardan 20 yaşında olanları ya da kız olan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE AGE=20 OR GENDER=’K’
komutunu kullanırız.
Ekran Çıktısı:

BETWEEN Operatörü
İki değer arasında işlem yaparken kullandığımız operatördür.
Örnek
Students tablosundaki kullanıcılardan ID’si 1 ile 6 arasında olan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE ID BETWEEN 1 AND 6
komutunu kullanırız.
Ekran Çıktısı:

LIKE Operatörü
Veri tablosundaki kolonlardan veri çekerken kolonların içinde herhangi bir ifadeyi aramamızı sağlar. LIKE operatörünü kullanıldıktan sonra tırnak işareti içerisinde hem aramak istediğimiz kelimeyi hemde bu kelimenin hangi kısmında arama yapmak istediğimizi ‘%’ karakteri ile belirtiriz. LIKE operatörü üç şekilde kullanılır.
1-)LIKE ‘Ali%’ : Kelimenin başında ‘Ali’ kelimesini arar.
2-)LIKE ‘%Ali’ : Kelimenin sonunda ‘Ali’ kelimesini arar.
3-)LIKE ‘%Ali%’ : Kelimenin içinde ‘Ali’ kelimesini arar.
Kullanım-1
Students tablosundaki kullanıcılardan soy isimi ‘n’ harfi ile biten kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE NAMESURNAME LIKE ‘%n’
komutunu kullanırız.
Ekran Çıktısı:

Kullanım -2
Students tablosundaki kullanıcılardan ismi ‘Ali’ ile başlayan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE NAMESURNAME LIKE ‘Ali%’
komutunu kullanırız.
Ekran Çıktısı:

Kullanım -3
Students tablosundaki kullanıcılardan isminin içinde ‘Tahta’ kelimesi geçen kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE NAMESURNAME LIKE ‘%Tahta%’
komutunu kullanırız.
Ekran Çıktısı:

NOT LIKE Operatörü
LIKE operatörünün tam tersidir.
Örnek
Students tablosundaki kullanıcılardan isminin başında ‘A’ harfi geçmeyen kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE NAMESURNAME NOT LIKE ‘A%’
komutunu kullanırız.
Ekran Çıktısı:

IN Operatörü
IN operatörü bir şartlı komutta birden çok değeri bir kolonun içinde aratmamızı sağlar.
Örnek
Students tablosundaki kullanıcılardan ismi Sıla Yolkesen ve Ziya Doğru olan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE NAMESURNAME IN (‘Sıla Yolkesen’,’Ziya Doğru’)
komutunu kullanırız.
Ekran Çıktısı:

NOT IN Operatörü
IN operatörünün tam tersidir.
Örnek
Students tablosundaki kullanıcılardan ID’si 2 ve 3 olmayan kullanıcıların verilerini görüntülemek için
SELECT * FROM STUDENTS WHERE ID NOT IN (2 ,3)
komutunu kullanırız.
Ekran Çıktısı:
