MS-SQL Veritabanı Veritabanı

SQL Where Komutu

SQL’de Where Kullanım Mantığı

Veritabanımızda ekleme, silme veya düzenleme gibi işlemler yaparken eğer bir kısıtlama veya koşul eklemek istiyorsak Where komutunu kullanabiliriz. Kelime anlamı itibariyle programımıza “Nerede” dememizi sağlar. Örneğin sistemimize kayıtlı üyeler arasında yaşı 18 altı olan kullanıcılarımızı görüntülemek istediğimiz zaman programımıza “Yaşı 18’den küçük olanlar nerede?” dememiz gerekiyor. Bunun Where ile sorgulanmış hali (kullanıcılarımızın yaşını yas alanı altında tuttuğumuzu farz edelim.) “Where yas<18” şeklindedir. Eğer sorgumuza bu şartı eklemezsek tüm kullanıcılar listelenecektir.


Where İfadesi Kullanım Formülü

Buradaki kısıtlanacak alan ifadesi az önceki örnekteki yaş alanıdır. Aynı şekilde kısıt değerimiz de 18 yaşından küçük olmasıdır. Yani az önceki örneğimizi formüle uyarlamak istersek,
şeklinde olacaktır. (Tablo adımızın kullanıcılar olduğunu farz edelim.)


Az önce Where komutu ile < operatörünü beraber kullandık. Aynı şekilde beraber kullanabileceğimiz başka operatörlerimiz de vardır.

Operatör Anlamı Kullanım Şekli Açıklaması
= Eşittir Where yas=18 Yaşı 18’e eşit olan kullanıcıları ifade etmektedir.
< Küçüktür Where yas<18 Yaşı 18’den küçük olan kullanıcıları ifade etmektedir.
> Büyüktür Where yas>18 Yaşı 18’den büyük olan kullanıcıları ifade etmektedir. 
<= Küçük Eşittir Where yas<=18 Yaşı 18’den küçük veya 18’e eşit olan kullanıcıları ifade etmektedir. 
>= Büyük Eşittir Where yas>=18 Yaşı 18’den büyük veya 18’e eşit olan kullanıcıları ifade etmektedir.  
Between Arasında Where yas between 18 and 50 Yaşı 18 ile 50 arasındaki kullanıcıları ifade etmektedir. İki sınır arasına and komutu koyularak aralık belirlenir.
Like İçeren – Benzer Where isim like ‘M%’ Bir veya daha fazla karakterini bildiğimiz sorguları yaparken kullanırız. Örneğin içerisinde “m” harfi geçen verileri sorgulamak için. 
In İçerisinde Where isim in (‘Mustafa’,’Fatih’) Birden fazla değeri aynı anda aynı alan içerisinde ararken kullanılır. Hem Mustafa hem de Fatih ismini tek seferde sorguladık.
<> Farklı Where yas <> 18 Yaşı 18 ‘ e denk olmayan kayıtları ifade eder.
!= Farklı Where yas != 18 Yaşı 18 ‘ e denk olmayan kayıtları ifade eder. 

Bu tabloda Like operatörünü kullanırken bir % işareti kullandık. % ifadesi karakterin yerini aradığımız alanın dışındaki kısmı temsil eder. Yani;

%M –> Sonu M olan kayıtları arıyoruz. Sonu dışındaki harfler bizim için önemli değil. Bu durumda önemsiz kısmı % ile belirttik.

%M% –> içerisinde M olan kayıtları arıyoruz. Başı veya sonu fark etmez, içerisinde M olması yeterli, başta veya sonda da olabilir.

M% –> Başında M olan kayıtları arıyoruz. Baş harfi dışındaki harfler önemli değil. Bu durumda baş harf dışındaki kısmı % ile belirttik.


Örnek Uygulama

Şirketimizde bulunan personellerimizin adını, soyadını, yaşını ve personel numarasını tuttuğumuz bir tablomuz olsun.

Tablomuzun adı per_bilgi olsun.

per_no ad soyad yas
11 Mustafa Sarıdal 19
22 Fatih Sarıdal 45
33 Özcan Yıldırım 25
44 Oğuz  Sak 37

Örnek Sorgu 1-)

Şirketimizdeki soyadı “Sarıdal” olan personelleri sorgulayalım.

Sorgumuzun sonucu:

ad soyad
Mustafa Sarıdal
Fatih Sarıdal

şeklinde olacaktır.


Örnek Sorgu 2-)

Şirketimizdeki 25 yaş ve altı genç çalışanları sorgulayalım.

Sorgumuzun sonucu:

ad soyad yas
Mustafa Sarıdal 19
Özcan Yıldırım 25

 

Yazar Hakkında

Mustafa Sarıdal

Cyber Security R&D Engineer

Yorum yap

This site uses Akismet to reduce spam. Learn how your comment data is processed.