• Sonuç bulunamadı

Basit Sorgulamalar Yapmak - İstatistiksel Sorgulamalar Yapmak

N/A
N/A
Protected

Academic year: 2021

Share "Basit Sorgulamalar Yapmak - İstatistiksel Sorgulamalar Yapmak"

Copied!
12
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Ankara Üniversitesi

Nallıhan Meslek Yüksekokulu

Basit Sorgulamalar Yapmak - İstatistiksel Sorgulamalar Yapmak

İ L E R I G Ö R S E L P R O G R A M L A M A Ö Ğ R . G Ö R . M A H M U T K I L I Ç A S L A N

(2)

HAVING Kullanımı [1]

HAVING yapısı temelde WHERE ile aynı görevi yapmaktadır . GROUP BY ile kullanılır. Where ifadesi ile belirtilen kriter Group By uygulanmadan önce

geçerli olurken, Having ifadesi ile belirtilen kriter ise group by uygulandıktan sonra ortaya çıkan verileri filtrelemek için kullanılır.

Ayrıca Where ifadesinden sonra sum, avg gibi fonksiyonlar kullanılamazken, Having ile kullanılabilir.

HAVING Kullanım Örneği

SELECT Alan_Adı From Tablo_Adı Group By Alan_Adi Having Alan_Adı Operatör Değer

SELECT Alan_Adı From Tablo_Adı Group By Alan_Adi Having Alan_Adı Operatör Değer

Örnek operatörler: ile belirtilen yere =, <, >, % gibi operatörler kullanılır.

(3)

Örnek Tablo [1]

(4)

Örnek Uygulama [1]

//access veritabanı bağlantımız için ekledik OleDbConnection Baglan = new

OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;

Data Source=veritabani.accdb");

//bağlantı kodunu oluşturduk OleDbDataAdapter adaptor;

//gridwiew doldurmak için bir adet adaptör oluşturduk

using System.Data.OleDb;

(5)

Örnek Uygulama [1]

private void button1_Click(object sender, EventArgs e) {

Baglan.Open(); // bağlantıyı açtık

       adaptor = new OleDbDataAdapter("Select Sehir, Sum (Maas) as Toplam_Maas From Personel Where Maas>2000 Group By Sehir", Baglan);

      //örnek kodumuzu yapiştirdık peki bu kodda ne diyor sehirdeki maaş toplamlarını personel tablosundaki çek ama neye göre maaşı 2000 TL Üzeri olana göre

       DataTable tablo = new DataTable();//datatable oluşturduk

       adaptor.Fill(tablo);//oluşturdumuz adapteri tabloya aktardık        dataGridView1.DataSource = tablo;//oluşan tabloyuda gridwiewe aktardık

       Baglan.Close();// bağlantıyı kapattık }

(6)

Uygulama Çıktısı [1]

(7)

Uygulama özeti [1]

Bu örnekte WHERE kullanılarak maaşı 2000 TL den fazla olan

personeller seçilmiş ve bunlar gruplanarak illere göre maaş toplamları bulunmuştur.

Burada görüleceği üzere WHERE ifadesi ile önceki kriteri belirttik ve tablomuzdaki bazı kayıtları devre dışı bıraktık. Sonrada kalan

kayıtları grupladık.

(8)

Örnek Uygulama 2 [1]

Birinci örneğe ilave olarak ili farklı yeni bir kayıt eklenir. Yine önceki örnekteki forma yeni bir buton eklenir.

private void button2_Click(object sender, EventArgs e) {

Baglan.Open(); // bağlantıyı açtık

     adaptor = new OleDbDataAdapter("Select Sehir,Sum (Maas) as Toplam_Maas From Personel where maas<2000 Group By Sehir Having Sehir Like 'S%'",

Baglan);

    //örnek kodumuzu yapiştirdık peki bu kodda ne diyor sehirdeki maaş toplamlarını personel tablosundaki çek ama neye göre maaşı 2000 TL Altı olan ve İsminin içerisinde S harfi başlayan şehir

     DataTable tablo = new DataTable(); //datatable oluşturduk

     adaptor.Fill(tablo); //oluşturdumuz adapteri tabloya aktardık      dataGridView1.DataSource = tablo; //oluşan tabloyuda gridwiewe aktardık

     Baglan.Close(); // bağlantıyı kapattık    }

(9)

Uygulama çıktısı [1]

(10)

Uygulama özeti [1]

Samsundaki 2 Kişinin Maaşını Topladı -Toplam Maaş Sütunu olarak gösterdi.

Kodumuz tam olarak “S” harfi ile başlayan şehirleri listeliyor.

Birbiriyle aynı isimde olan şehirleri birlikte topluyor. Ve maaşın

2000 TL altı olmasına dikkat ediyor.

(11)

HAVING Kullanma Kuralları [1]

• Select komutunda GROUP BY yoksa HAVING geçersiz olur.

• HAVING sözcüğünü izleyen ifade içinde SUM, MIN, MAX, AVG, COUNT fonksiyonlarından en az biri mutlaka olmalıdır.

• HAVING sözcüğü sadece ve sadece gruplanmış verilerin işlemleri için geçerlidir.

• WHERE ile birlikte bir Select komutu içinde kullanılabilir . WHERE ve HAVING arasındaki fark:

WHERE bir tablonun tek satırları üzerinde işlem yapan koşullar içinde geçerlidir. HAVING gruplanmış verilerin işlemleri için geçerlidir.

(12)

Kaynak

1. http://ramazanakbuz.com/c-istatistiksel-sorgulamalar/

Erişim Tarihi : 08.12.2017

Referanslar

Benzer Belgeler

Master-detail formlarda üst bilgi (master) niteliğinde bir kayıt ve bu kayda ait alt bilgiler (detail) gösterilmektedir. Örneğin, siparisler tablosundaki herhangi bir kayıt üst

/* önce oranlar listemizdeki başlığı çekiyoruz string olarak daha sonrada sayısal anlamda düzenleyerek down listemizde bulunan toplam borç ve kalan borcu ekledik. Substring

Söz ve eylem aracılığıyla, çoğulluk içinde, kendi bi- reyselliğini ortaya koyan ve bu bireyselliği başkalarının tanıklığına açarak dünyaya yeni bir şeyler katan insan,

Spleen Preserving Procedures and Blood Value Changes in Splenic Injuries.. Mehmet Adnan

Ay içinde gelen mahkeme icra ilamlarına göre ilgili personel bazında icra kesintilerinin her ayın 1-8’i arasında SGDB tarafından Say2000i sistemine girilmesi. Ay

demektense bu anayasa değişikliği şu sonuçlara neden olacak o yüzden hayır diyen neredeyse yok gibi.. Davulu halk için hala uzaktan

maddesine göre ortak hizmet projesi kapsamında üniversite öğrencilerine yönelik açılacak olan yurt için Türkiye Diyanet Vakfı Konya Şubesi ile Selçuklu Belediyesi

risinde öne çıkan konular, -belirli bir öncelik sırası gözetmeden- şu 10 başlık altında toplanabilir: Sağlık; Emeklilik, sosyal güvenlik, sosyal sigortalar;