ForumTayfa  

Geri git   ForumTayfa > Webmaster & Programlama Bölümü > Programlama > Veritabanları & SQL
Kayıt ol Yardım Üye Listesi Forumları Okundu Kabul Et

Cevapla
 
LinkBack Seçenekler Stil
Alt 26.04.07, 18:32   #1 (permalink)
Paylaşımcı Tayfa
 
silentwolf - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2006
Nerden: İstanbul
Mesaj Sayısı: 2.363
Konu Sayısı: 127
Takım: Fenerbahçe
Rep Gücü: 4462
Rep Puanı: 445812
Rep Derecesi : silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000
Ruh Hali:


Standart Sql Komutlarim -ii




Merhaba arkadaşlar, SQL Komutlarım I ‘ in devamı niteliğindeki bu makalemde sizlere matematik sorgu komutlarından, sütunları nasıl gruplandırma yapacağımızdan ve gruplandırılmış sütunlara nasıl koşul koyacağımızdan bahsetmeye çalışacağım

SQL KOMUTLARIM -II
Merhaba arkadaşlar, SQL Komutlarım I ‘ in devamı niteliğindeki bu makalemde sizlere matematik sorgu komutlarından, sütunları nasıl gruplandırma yapacağımızdan ve gruplandırılmış sütunlara nasıl koşul koyacağımızdan bahsetmeye çalışacağım. Alet çantamızı bir an önce dolduralım ki ilerleyen makalelerimizde daha kompleks projelere imza atalım.Eee o zaman hadi başlayalım.
MATEMATİKSEL SORGU KOMUTLARI
Max: Sütundaki en yüksek değeri bulmamıza yarar.

Gördüğümüz gibi fiyat sütunundaki en yüksek değeri verdi.
Min: Sütundaki en küçük değeri bulur.

Sum: Sütun toplamını bulur. Sayısal veri içeren bir sütunun toplamını hesaplamak isterseniz komutlarınız şöyle olmalıdır.

Fiyat sütunundaki verilerin toplamı karşımıza geldi. Mesela bir marketin günlük satışlarının toplamını tek tuşla ekranımıza getirebiliriz. Olay yukarıdaki kodlardan ibarettir. Evet yazılıma gönül vermiş dostlarım, matematiksel sorgu komutlarına hız kesmeden devam ediyoruz.
Avg: Bu sorgu sayısal veri içeren sütunun ortalamasını verir.

Gördüğünüz gibi fiyat sütununun ortalaması karımıza gelmiştir. Bu tür uygulamalar bir topluluktaki insanların yaş ortalamasını bulmakta, gelir dağılımı gibi değişik alanlarda kullanılabilinir. Biz burada bir koşula göre de ortalama aldırabiliriz. Mesela Fiyatı 350 dolardan büyük olan ürün fiyatlarını aldıralım. Kodlarımız aşağıdaki gibi olacaktır.

Count: Kayıt sayısını bulmamıza yarar. Tablomuzdaki kayıt sayısını istediğimiz koşulları ekleyerek bulabiliriz.

Sorgumuzda yazdığımız “ * “ yerine herhangi bir sütun ismi de yazabilirdik. Ama o sütunda herhangi bir satıra veri girilmeyip boş geçilirse kayıt sayısı eksik döner, yani ismini yazdığımız sütunun boş olmayan kayıt sayısını döndürür. Eğer kullandığımız sütun primary index ise zaten boş geçilmeyeceğinden Count(*) ile aynı değeri verecektir.
Group By: Gururlandırma yapmaya yarayan sorgumuzdur. Mesela sorgumuzda aynı marka ismine sahip olanlar için verilen faturaların toplamını tek bir kayıtta yazdırmak istersek Group By ‘ı kullanmamız gerekir. Hemen deneyelim, Yazılım okuyarak değil yazarak öğrenileceği için sizinde yazmanızı tavsiye ediyorum.

Evet arkadaşlar mavi renkli satırları dikkatlice inceleyecek olursak 2 tane HP, 2 tane TOSHIBA ürününü aynı satıra alınmış. Buda Group By ın marifeti J
Having: Gururlandırılmış sütunlara koşul koyar.
Şimdi size bir soru sormak istiyorum. Bir şirkette çalışıyorsunuz ve müdürünüz sizden sadece 1 kere satılmış markaların listesini istiyor. Ne yapardınız?
Bence düşünmeyi bırakın ve bir anca Having sorgusunu faaliyete geçirin yoksa kovulacaksınız

İşlem tamamdır arkadaşlar.. Ne yaptığımızı adım adım inceleyelim isterseniz. İlk önce istediğimiz sütun başlıklarını seçtik. Daha sonra Urun Markasına göre grupladık ve grupladığımız sütunun altındaki kayıtlara Having metodu ile koşul koyduk, sadece bir kere girilen kayıtları getirmesini emrettik ve geldi.Ne güzel dimi, Ben Sql i gerçekten çok seviyorum arkadaşlar, devamlı emrediyorsunuz ve anında emirleriniz yapılıyor, ama doğru emretmesini bilek gerekir.
Önemli Bilgi: Having yapısı Group By dan sonra kullanılması gerekir. Eğer sorgunuzda Group By yoksa having yapısını kullanamazsınız. Çünkü having yapısı gruplandırılmış sütunlara koşul koyar.
Where: Sorguya koşul koyar. Yukarıdaki komutlarla istediğimiz gibi sorgu oluşturabiliriz ama where ile bir kriter koyarak listeleme yapabiliriz.
Mesela ürün markası toshiba olanları listeleyelim.

Şimdide fiyatı 1000 dolardan fazla olan ürünleri getirelim.

Sonuç olarak karşımıza 1000 dolardan pahalı ürünler geldi.
And: Aynı anda birden fazla koşulu sağlamak için kullanılır. Mesela Hem Urun marka Toshiba olacak, hem Laptop olacak hemde fiyatı 1500 dolardan fazla olacak. Bu sorguyu yazmayı deneyelim.

Where komutundan sonra her şartımızın arasına and komutumuzu yerleştiriyoruz, bu sayede istediğimiz kadar şartı aynı anda sağlayabiliriz.
Or: Şartlardan sadece birinin geçerli olduğu durumlarda çalışmayı sağlayan komuttur. Mesela LG veya HP olan ürünleri listeleyelim.

Not: Or ile and ‘i sakın krıştırmayalım. And ‘de bütün koşulları sağlaması gerekir.Ama or da sadece bir koşulun varlığı yeterlidir.
in: Bu komut sayesinde de birden fazla koşul verebiliriz ama dikkat etmemiz gereken en önemli husus aynı sütuna ait değerleri girmemiz gerekmektedir.
Bir örnek üzerinde açıklayalım. Mesela ürün markası sadece toshiba ve hp olan ürünleri listeleyelim.

Urün marka sütununa baktığımızda sadece istediğimiz ürünler karşımıza geldi. Parantez içine yazdığımız kelimeler aynı sütun içersinde yer alması zorunludur yoksa kodumuz yanlış olacaktır.
Not in: Bu sorgumuz ise in komutunun tam tersidir. Yani yazdığımız koşulun sağlanmadığı durumdur.
Bir örnek üzerinde daha iyi anlaşılacağı kanaatindeyim. Bu seferde Urün markası TOSHIBA ve HP olmayan ürünleri getirsin.

Ürün marka sütununa baktığımızda istemediğimiz ürünler gelmedi.
Between: Belirli bir aralıktaki verileri sorgulamak için kullanırız. Mesela Fiyatı 100 dolar ile 500 dolar arasındaki ürünleri sıralayalım.

Gördüğümüz gibi kullanımı çok basit, aşağıdaki ifade de bu sonucu bize verir.
select*from Satis where Fiyat>=100 and Fiyat<=500
Like: Sütun içinde arama yapar. Mesela sadece baş harfini verip ona uyan sütunları ekrana çağırabiliriz.
Kullanım şekli;
Mesela T harfiyle başlayan kayıtları bulmak için ‘T%’ , T harfiyle biten kayıtları bulmak için ‘%T’ ifadesini kullanırız. Eğer içinde T harfi olan kayıtları istersek ‘%T%’ ifadesini kullanırız.
Hadi o zaman birkaç örnekle deneyelim sevgili dostlar.

Bakın T harfi ile başlayan markalar geldi.
İçinde T harfi olan markaları görmek istersek şöyle yazarız.

Eveeett sevgili arkadaşlar geldik bir makalemizin daha sonuna umarım sizlere azda olsa yardımcı olmuşumdur. Size tavsiyem bu ve buna benzer örnekleri bolca yazarak yapmak. İşimiz yazmak değimli zaten SQL Komutlarım –III te görüşmek üzere.
__________________
bir silahım olsaydı...



hiç bir farklılık ayrımcılığa neden olamaz.
Hürriyet Hürriyettir.




Her türlü soru ve sorunlarınız için
silentwolf@forumtayfa.com

silentwolf isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla



Seçenekler
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık




Powered by vBulletin Version 3.6.4
Copyright ©2000 - 2007, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
ForumTayfa

Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 102 103 104 105 106 155 156 157 158 159 160 161 162 163 164 167 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259


ForumTayfa - Link Değişimi
ForumTayfa.Net | Sahil Oto | Nazhar | MySpace TopSites | Voip Destek | Tamamıucuz.com | fikiristan.com | Link Değişimine Katılın |

Sitemiz bir forum sitesi olduğundan dolayı, kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir. ForumTayfa Yöneticileri mesajları itina ile kontrol etse de, bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Yine de sitemizde yasalara aykırı unsurlar bulursanız iletisim@forumtayfa.com email adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.
Any member of our web site has the right of adding comments instantly without getting permisson due to the forum structure of our site basis. Althought, our site modarators check comments with care, all the responsibilities sourced from these comments directly belong to the members. If you still find any illegal content in our site ( A.buse, H.arassment, S.camming, H.acking, W.arez, C.rack, D.ivx, Mp.3 or any Illegal Activity ), please report us via iletisim@forumtayfa.com .Your reports will be evaluated as soon as the arrival of your e-mail.