SQL işlemlerimizde herzaman direk tablo sorgulamayız. Bu işlemi dolaylı olarak yada tablodaki verilere göre satır sayısı cinsinden vs. yapabiliriz. Biraz daha genişletmek gerekirse sorguladığımız tablodaki istediğimiz kolana göre;
bulabiliriz. Şimdi sıra ile bu işlemleri nasıl yaptığımızı örneklerle inceleyelim
işlemlere geçmeden önce üzerinde çalışacağımız satışlar tablosuna bi göz atalım
select
*
from
tbSatislar
id | il | kisi | tutar |
---|---|---|---|
1 | ANKARA | Emre ÜNAL | 1500 |
2 | ANKARA | Bünyamin AKTAŞ | 1250 |
3 | ŞANLIURFA | Halil ADEMOĞLU | 1000 |
4 | KAHRAMANMARAŞ | Selçuk ÇÜGEN | 1750 |
5 | ESKİŞEHİR | Özlem MELEK | 1300 |
6 | ESKİŞEHİR | Faruk ÜNAL | 1450 |
7 | ANKARA | Alihsan GÜROL | 1900 |
8 | ŞANLIURFA | Cahit ÇEÇEN | 1500 |
9 | ANKARA | Faruk ÜNAL | 1000 |
10 | KAHRAMANMARAŞ | Selçuk ÇÜGEN | 1250 |
11 | ESKİŞEHİR | Faruk ÜNAL | 650 |
12 | ANKARA | Faruk ÜNAL | 400 |
Kolondaki değerlerin toplamlarını hesaplama işleminde kullanılır. örneğin satışlar tablomuzda yaptığımız satış tutarlarının toplamını alarak toplamda ne kadar satış yaptığımızı SUM() fonksiyonu ile kolayca hesaplayabiliriz.
select
sum
(tutar)
from
tbSatislar
Column1 |
---|
14950 |
Gördüğünüz gibi toplam satış tutarını almış olduk. Birde illere göre toplam satışı görelim.
select
il,
sum
(tutar)
from
tbSatislar
Group
by
il
il | Column1 |
---|---|
ANKARA | 6050 |
ESKİŞEHİR | 3400 |
KAHRAMANMARAŞ | 3000 |
ŞANLIURFA | 2500 |
Kolondaki değerlerin ortalamasını hesaplamada kullanılır. Örneğin genel olarak yaptığımız satışların ortalamasını almak istersek ( yani ortalama olarak her satışı kaçtan yaptığımızı öğrenmek istersek) şöyle bir sorgu yazabiliriz.
select
AVG
(tutar)
from
tbSatislar
Column1 |
---|
1245.83333333333 |
tabloda gördüğümüz gibi ortalama satış tutarımızı öğrenmiş olduk. Şimdi de kişilere göre bir kişinin yaptığı ortalama satış tutarını öğrenmek istersek
select
kisi,
AVG
(tutar)
from
tbSatislar
group
by
kisi
kisi | Column1 |
---|---|
Alihsan GÜROL | 1900 |
Bünyamin AKTAŞ | 1250 |
Cahit ÇEÇEN | 1500 |
Emre ÜNAL | 1500 |
Faruk ÜNAL | 875 |
Halil ADEMOĞLU | 1000 |
Özlem MELEK | 1300 |
Selçuk ÇÜGEN | 1500 |
Bu tablodan da çalışan kişilerimizin yaptıkları ortalama satış tutarlarına göre performanslarını görüp primlerini vs. ayarlayabiliriz.
NOT: Eğer işlem yaptığımız kolon da NULL değer varsa orası yok sayılır ve ne toplama nede satır sayısına etkisi olmaz. Yani 5satırlık bi veride 1 satır NULL ise toplam 5e değil 4e bölünür.
Kolondaki veriler üzerinde en büyük değerli olanı döndürür. Mesela en büyük satış tutarının ne kadar olduğunu öğrenmek istersek
select
MAX
(tutar)
from
tbSatislar
Column1 |
---|
1900 |
şeklinde görebiliriz. Her il için yapılan en büyük satışı görmek istersek
select
il,
MAX
(tutar)
from
tbSatislar
Group
by
il
il | Column1 |
---|---|
ANKARA | 1900 |
ESKİŞEHİR | 1450 |
KAHRAMANMARAŞ | 1750 |
ŞANLIURFA | 1500 |
Kolondaki veriler üzerinde en küçükdeğerli olanı döndürür. Mesela en küçük satış tutarının ne kadar olduğunu öğrenmek istersek
select
MIN
(tutar)
from
tbSatislar
Column1 |
---|
400 |
şeklinde görebiliriz. Her il için yapılan en küçük satışı görmek istersek
select
il,
MIN
(tutar)
from
tbSatislar
Group
by
il
il | Column1 |
---|---|
ANKARA | 400 |
ESKİŞEHİR | 650 |
KAHRAMANMARAŞ | 1250 |
ŞANLIURFA | 1000 |
Tablodaki aradığımız kriterlerdeki toplam kayıt sayısını görmemizi sağlayan fonksiyondur. Örneğimize yine aynı tablodan devam edecek olursak toplam kaç adet satış girildiğini görmek için
select
COUNT
(*)
from
tbSatislar
Column1 |
---|
12 |
yada istediğimiz bir kolon üzerinden de satır sayısını öğrenebiliriz. COUNT
(Kolon_Adı)
şeklinde kullanarak belirttiğimiz kolondaki NULL olmayan satır sayısını öğrenebiliriz. Dilersek where ile koşul belirterek istediğimiz kriterde satır-kayıt sorgulaması yapabiliriz