Tags

, , , , , , , , , , , , ,

Merhaba Arkadaşlar bu yazımızda Oracle veri tabanında where ibaresi kullanarak verilerimizi çeşitli koşullara bağlı olarak monitör etmeye devam edeceğiz.Yazımızda Like koşulu, and,or ve not operatörlerinden bahsedeceğim ve örneklerle anlatmaya çalışacağım.

LIKE Koşulu;

Like koşulu where ibaresinden sonra kullanılır. Amacı verilerimizi belirli bir koşula göre monitör etmemizi sağlar.  Örnek olarak Çalışanlarımızın soy isimlerinin baş harfi H olanları görüntülemek istediğimizde

Select last_name from employees where last_name like ‘H%’; 

like koşulu

Bu şekilde kullanılır. Daha önce where kullanımından bahsetmiştik. Koşul belirttiğimiz veri, veritabanımızda nasıl kayıtlıysa o şekilde yazmalıyız. Burada biz last_name kolonundaki verilerin ilk harflerinin büyük olarak veri tabanında tutulduğunu bildiğimiz için o şekilde yazdık sorgumuzu.

Like koşulunun belirli kullanımları;

 Like ‘_a%’   Burada aradığımız koşul ilk harfi önemli değil 2. harf a olması          Like ‘%a%’ Burada aradığımız koşul veri içinde a harfi olması yeterli.                Like ‘%a’     Burada aradığımız koşul verinin son harfinin a olması.

Like Koşulu ve Escape kullanımı;

Arkadaşlar bazı durumlarda aradığımız koşul içerisinde ‘_’ alt tire kullanmamız gerekebilir.Yukarıda belirttiğim gibi (Like ‘_a%’) bu durumda Oracle veri tabanı alt tiremizi bir koşul olarak algılıyor halbuki biz koşulumuzu verimizin içinde alt çizgi olduğunu belirterek yazıyoruz. Bu gibi durumlarda Escape kullanmamız gerekecektir.

Örnek olarak veri tabanımızda kayıtlı olan çalışanlardan job_id si SH_ ile başlayanları görmek istiyorum.

select last_name,job_id from employees
where job_id like ‘SH_%’;                                                                                     Sorgumuzu bu şekilde yazdığımızda Oracle veri tabanı alt çizgiyi SH den sonra herhangi bir karaktere sahip olan verileri getirecek(SHXXXX gibi) halbuki ben SH_XXX olanlar gelsin istiyorum. Bunun için aşağıdaki sorguyu kullanırım

select last_name,job_id from employees
where job_id like ‘SH\_%’ ESCAPE ‘\’;                                                                Bu sorgu doğru olacaktır. Burada Escape, ‘\’ dan sonra gelen özel karakteri normal karakter gibi algılamasını sağlıyor ve operasyonumuzun düzgün çalışmasını sağlıyor..

Null koşulu;                                                                                                               select last_name, manager_id from employees  where manager_id is null;        Burada Employees tablomuzda, manager_id si null olan yani muhtemelen patronumuzu monitör ettik.

Koşulların Mantık Operatörleriyle Kullanılımı;

Arkadaşlar bu yazımızda ve önceki yazımızda belirli koşullarla verilerimizi monitör etmiştik. Şimdi de bu koşullarla birlikte mantıksal operatörlerimizi kullanıp işimizi daha da kolaylaştıracağız.

And Operatörü Kullanımı;                                                                          Arkadaşlar And operatöründe belirttiğimiz koşulların hepsi sağlanması zorunludur. Aşağıda verdiğim örnekde 2 koşuluda sağlayan veriler monitör edilmiştir.

select employee_id,last_name, job_id,salary from employees
where salary >=10000 and job_id like ‘%MAN%’;  

like koşulu and operatörü

like koşulu and operatörü

Burada employees tablomuz’da maaşı 10000 tl nin üzerinde olanları ve job_id si içerisinde MAN olanları monitör ettik.

and operatörü truth table

and operatörü truth table

 OR Operatörünün Kullanımı;                                                                      Arkadaşlar Or operatöründe And’den farklı olarak belirtilen herhangi bir koşulu  sağlayan veriler ekrana monitör edilir.

 select employee_id,last_name, job_id,salary from employees
 where salary >=10000 or job_id like ‘%MAN%’;  

like koşulu or operatörü

like koşulu or operatörü

Burada Görüldüğü gibi maaşı 10000 tl den fazla olup job_id si içerisinde ‘MAN’ bulunmayanlar ve job_id si ‘MAN’ olup maaşı 10000 tl’den düşük çalışanlarımız monitör edilmiştir. Dediğim gibi belirtilen herhangi bir koşulun sağlanması yeterli diğer koşula bakılmayacaktır.

or operatörü truth table

or operatörü truth table

Not Operatörü Kullanımı;

Arkadaşlar Not operatörü in,between veya like ile kullanılabilir. Genelde bazı koşulları hariç tutmak istediğimizde kullanılırız. Mesela employees tablomuzda bulunan çalışanlarımızdan job_id si ‘IT_PROG’,’AC_MGR’,’MK_MAN’ olmayanları monitör ediyoruz.. Daha önce  in kullanımından bahsetmiştik.

select last_name, job_id from employees
where job_id not in (‘IT_PROG’,’AC_MGR’,’MK_MAN’);       

not operatörü

not operatörü

… WHERE job_id NOT IN (‘AC_ACCOUNT’, ‘AD_VP’)
… WHERE salary NOT BETWEEN 10000 AND 15000
… WHERE last_name NOT LIKE ‘%A%’
… WHERE commission_pct IS NOT NULL

Not operatörü bu şekillerde kullanılabilir.