Tags
Group Functions, Min, Oracle Sql Avg, Oracle Sql Count, Oracle Sql Group Fonksiyonları, Oracle Sql Max, Oracle Sql Sum
Merhaba Arkadaşlar, Bu yazımızda grup fonksiyonlarından bahsedeceğiz.Bu fonksiyonlar Avg(ortalama),Count(sayma),Max(maximum),Min(minimum), Sum(toplam). Oracle veritabanında bu fonksiyonlar sayesinde bazı işlemleri çok daha rahat yapacağız. Mesela maaşların tutulu olduğu bir kolona gidip en yüksek maaşı alan çalışanı max fonksiyonu ile görüntüleyebiliriz. Yada şirketimizde çalışanların aldığı ortalama maaşı avg fonksiyonu ile görebiliriz. Bu gibi işlemleri tek bir ifade kullanarak yapacağız.Grup fonksiyonları tek satır fonksiyonlarından farklı olarak bir den çok satır alıp bir tane sonuç dönderen fonksiyonlardır. Grup fonksiyonlarını tek satır fonksiyonlarında olduğu gibi where ile birlikte kullanamayız,Having ile birlikte kullanılır. Grup fonksiyonları null değerleri göz ardı eder ve null değer döndürmezler.
Hemen bir örnek yapalım çalışanlar(employees) tablomuzdaki maaşlar(salary) kolonuna gidelim ve Max fonksiyonu ile en yüksek maaşı,Min fonksiyonu ile en düşük maaşı,Avg fonksiyonu ile maaşların ortalamasını(burada ondalık değer görmemek için Round fonksiyonu ile iç içe kullanacağız),Sum fonksiyonu ile verilen tüm maaşların toplamını ekrana monitör edeceğiz.
select min(salary),max(salary),round(avg(salary)),sum(salary) from employees;
Yukarıdaki örneğimizde number değerleri işleme soktuk şimdiki örneğimizde’ de employees tablomuzdaki hire_date(işe başlangıç tarihi) date data tipini ve last_name (soy adı) varchar2 data tipini, max ve min fonksiyonlarıyla işleme sokalım.
select max(hire_date),min(last_name) from employees;
Yukarıdaki örneğimizde max(hire_date) diyerek en yakın tarihi,en son işe giren çalışanımızı,min(last_name) diyerek soy adı en kısa olan çalışanımızı monitör ettik.Şimdide count fonksiyonu ile employees tablomuzdaki satır sayısını bulalım.
select count(*) from employees;
select count(employee_id) from employees;
Görüldüğü gibi iki sorguda’da satır sayısı aynı monitör edilmiş. Yukarda demiştikki hiç bir grup fonksiyonu null değerleri döndürmez. Şimdi Commission_pct kolonuyla alakalı bir örnek yapalım. Bildiğiniz gibi bazı çalışanlar komisyon almıyor ama Comission_pct kolonundada 107 satır var bakalım null alanları sayacakmı ?
select count(commission_pct) from employees;
Yukarıdaki örnekte görüldüğü gibi null değerler sayılmadı. Çalışanlarımızdan 35 tanesi komisyon alarak çalışıyormuş.Peki biz null değerleride görmek bilmek istiyorum yani satır sayımızıda merak ediyoruz. Ozamanda NVL fonksiyonunu kullanacağız.
select count(nvl(commission_pct,0)) from employees;
Arkadaşlar bu yazımızda Group fonksiyonlarından(Avg,Count,Max,Min,Sum) bahsettik bir dahaki yazımızda Group by kullanımından bahsedeceğiz.