2012/12/22

Oracle Operatörler


Operatörler veri üzerinde  işlem yaparak bir sonuç döndüren işlemlerdir.Bu operatörleri 4 başlık altında inceleyebiliriz. Sıralayacak olursak;
 1-)Küme operatörleri;
      Küme işlemi yapmak için kullanılır.Küme işlemlerini de  4 bölümde inceleye biliriz;

  • Union; iki sorguda yer alan tüm satırları verir,aynı olanları bir kez alır.Kümelerdeki birleşim işleminin karşılığıdır.
  • Union all; İki sorgudaki tüm satırları verir,tekrar eden satırların hepsini alır.
  • Intersect; İki sorgudaki satırlar döner,tekrar edenleri bir kez alır kümelerde kesişimin karşılığıdır.
  • Minus; 1.sorguda olup 2.sorguda olmayanları alır.Kümelerde fark işleminin karşılığıdır.

2-)Karşılaştırma operatörleri;
   Burada da birkaç karşılaştırma operatörüne bakacak olursak;
  •   Some; Bir listedeki yada alt sorgudaki karşılaştırmak için kullanılır.
  •   Any ;Bir listedeki ya da alt sorgudaki karşılaştırmak için kullanılır.Buna küçük bir örnek verelim;

                   Select adı ll’ ‘ll soyadı,ücret from personeller where bölüm_id<=any(1,6,7);

  •   All;Bir listedeki yada alt sorgudaki karşılaştırmak için kullanılır.

3-)Mantıksal operatörler;
   Mantıksal operatörler iki karşılaştırma işleminin sonucu birleştirmek için kullanılır.
  •  Not; Sonuç değeri tersine çevirir. True olanı false yapar.
  •  And; Her iki taraf da true ise true çevirir diğer durumlarda true verir.
  •  Or; Her iki taraf da false ise false verir diğer durumlarda false verir.

4-)Diğer operatörler;
   Koşul cümleleri yazarken sıklıkla diğer operatörlerden bu bölümde anlatacağım.
  • In ve not in;Bir liste içerisinde ilgili kayıt'ın olup olmadığını test eder.Listede kayıt varsa IN operatörü  true değeri verir. Kayıt yok ise bu sefer not in değeri true verir.

             (Tabloda bölüm_id si 1,6,7,9 numaralı kullanıcılar olsun)
        *Select adı ll’ ‘ll soyadı,bölüm_id from işçiler where bölüm_id  IN(1,7,9);
             bu sorgu bize tablo içindeki id leri 1,7 ve 9 olanı ad ve soyadlarını birleştirip getirecekdir.
        *Select ad ill ‘’ ll soyadı,bölüm_id işçiler where bölüm_id NOT IN(1,7,9);                      
             Bu sorgu ise kayıtda sadece bölüm_id 6 olanları getirecekdir.
  •   Between;Aralik tespiti yapar.

            (Tabloda adı,soyadı ve maaşı olan kayıtları düşünelim)
            *Select adı ll ‘’ll soyadı,maaşı from işçiler where maaşı between 10000 and 14000;
            Maaşı 10000 ile 14000 arasındaki kayıtlari getirecekdir.
  • Is null ve is not null; null yada not null ifadelerini bulmak için kullanılır.

           *Select adı ll’’llsoyadı,bölüm_id from işçiler where bölüm_id is null;
            Bu bize id’si olmayanları getirir. Diğeri ise yani is not null buda id’si olanları getirecekdir.
  • Like;Karakter kalıplari ile çalışır.

          %met=Baslangıcı önemli değil ama sonu mutlaka ‘met’ ile bitenleri getir demekdir.
          %me%=İçerisinde ‘me’ alan kayıtlari getir demekdir.
          Me%=Başı ‘me’ olanları sonu önemli olmayanları getir.
          %_hmet=İlk karakter önemli olmayan ancak sonu ‘hmet’ ile bitenleri getir.

Hiç yorum yok:

Yorum Gönder