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