SQL GROUP fonksiyonları kullanımı Group By
Önce Personel(tblpersonel), Maaş(tblMaas) ve Departman(tbldepartman) olmak üzere aşağıdaki gibi üç tane tablo oluşturalım. Maaş tablosunu önceki örneklerde personel tablosuna sadece bir MAAŞ alanı ekliyorduk, örneklerde kolaylık olsun diye böyle yapmıştık. Gerçek hayatta bir personel her ay maaş aldığı için ayrı bir maaş tablosuna ihtiyaç duyduk.
Hangi personelin Maaş bilgisinin kaydedildiğini belirlemek için tblMaas tablosuna personelID alanı ekledik. Daha önce personelin hangi departmanda olduğunu belirtmek için tblpersonel tablosuna departmanID ekledik.

Önce tablomuzda hangi veriler olduğunu görelim, bunun için daha önceki örneklerde yaptığımız gibi personelID üzerinden personel ve maaş tablolarını birleştirerek, sadece ihtiyacımız olan alanları listeliyoruz.

Aşağıdaki SQL SELECT sorgusu ile Personel, Maaş ve Departman tablolarını birleştiriyoruz. Birleştirme sorgusunu yazarken daha önceki derslerimizde de incelediğimiz birincil anahtar ve yabancı anahtar alanlarından yararlanacağız.

Aşağıdaki SQL SELECT sorgusu ile Personel, Maaş ve Departman tablolarını birleştiriyoruz. Birleştirme sorgusunu yazarken daha önceki derslerimizde de incelediğimiz birincil anahtar ve yabancı anahtar alanlarından yararlanacağız.
SELECT p.*, d.*, m.*
FROM
tblpersonel p, tblmaas m, tbldepartman d
tblpersonel p, tblmaas m, tbldepartman d
WHERE p.personelID = m.personelID AND p.departmanID = d.departmanID
Yukarıdaki SQL Sorgusu üç tabloyu birleştirerek tüm alanlarıyla getirecektir. Şimdi tüm alanları değil de sadece istediğimiz birkaç alanın gelmesini sağlayalım. Sadece personel ADI, SOYADI, DEPARTMAN, MAAS, TARIH bilgilerini aşağıdaki SQL sorgusu ile getirebiliriz.
SELECT p.ADI, p.SOYADI, d.DEPARTMAN, m.MAAS, m.TARIH
FROM
tblpersonel p, tblmaas m, tbldepartman d
tblpersonel p, tblmaas m, tbldepartman d
WHERE
p.personelID = m.personelID AND p.departmanID = d.departmanID
p.personelID = m.personelID AND p.departmanID = d.departmanID
SELECT p.ADI, p.SOYADI,d.DEPARTMAN, m.MAAS,m.TARIH
FROM
tblpersonel p, tbldepartman d, tblmaas m
tblpersonel p, tbldepartman d, tblmaas m
WHERE p.departmanID = d.departmanID
AND m.personelID= p.personelID
AND (m.MAAS>=3000 AND m.MAAS<=5000)


Şimdi de personellerin şimdiye aldıkları maaşlar toplamını personel ADI ve SOYADI bilgisi ile birlikte listelemek isteyelim. Bunun için grup fonkisyonlarından SUM fonksiyonunu kullanıyoruz.
SELECT p.ADI,p.SOYADI,SUM(m.MAAS) FROM
tblmaas m, tblpersonel p
WHERE
p.personelID=m.personelID
p.personelID=m.personelID
GROUP BY p.ADI, p.SOYADI


Şimdi de TC Kimlik Numarası 12345678912 olan personelin 2018 yılında almış oldıuğu tüm maaşları listeyelim.
SELECT p.ADI, p.SOYADI, m.MAAS, m.TARIH
FROM
tblpersonel p, tblmaas m
WHERE
p.personelID = m.personelID
AND p.TCKIMLIKNO='12345678912'
AND (m.TARIH>='2018-01-01' AND m.TARIH<='2018-12-31')
Mutlu kodlamalar,
Oğuzhan TAŞ
Kasım, 2018
Mutlu kodlamalar,
Oğuzhan TAŞ
Kasım, 2018

Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: Excel hücrelerinde yıldız koyarak b...
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?