İşte bir yazıda daha beraberiz.Başlıktan da anlayacağınız gibi bu SQL 1.Bolum'un devamı niteliğinde olacak.Neyse uzun etmeden hemen SQL'in komutlarına giriş yapalım..

Order By(sıralama)
Order by olayı ile belirteceğimiz field'e gore veritabanında secilen bilgilerin artan veya azalan şekilde sıralanmasını sağlıyor.Ornek olarak bir veritabanı hayal edin.Bu veritabanında uye adında bir tablo olsun.Uyeadi,uyesoyadi,kayittarihi adında uc tanede field olsun.Şimdi biz bu bilgileri en son kayıt olandan ilk kayıt olana doğru sıralamak istersek :

sql="select * from uye order by kayittarihi DESC" şeklinde bir sql komutu yazmamız gerek.Burda DESC ne iş derseniz hemen acıklayayım.DESC descending 'in kısaltılmışıdır.Yani azalan anlamına gelir.Eğer order by kayittarihi DESC şeklinde kullanmazsak sıralama ASC olarak yapılır.Evet ASC'de artan anlamına gelir.Yazmak veya yazmamak size kalmış.Yani order by kayittarihi ASC yazmak ile order by kayittarihi yazmak aynı kapıya cıkar...Bu arada eğer sıralama string(alfanumerik) değerdeki field'e gore olacaksa sıralamaya gore A dan Z ye veya Z den A ya integer(sayı) değer ise sıralamaya gore buyukten kucuğe veya kucukten buyuğe doğru sıralama olacaktır.Aynı şekilde tarih değerde ise buyukten kucuğe veya kucukten buyuğe olacaktır.

Top
Hani bazı sitelerde ki ozellikle toplist sitelerinde en son 5 veya en son 10 uye şeklinde ifadler vardır.Aslında biz bu olayı kod yazarak yapabilirdik.Ama ne gerek var 40 dereden su getirmeye.Kısaca ilk x kaydı secmek icin :

Sql="select top sayi * from tablo order by id DESC" şeklinde kullanılır.Evet sayi yazan yere id field'ine gore DESC'den dolayı son kac kaydı secmek isterseniz o değeri vermeniz yeterli.Yani Sql="select top 5 * from tablo order by id DESC" dediğimiz zaman son 5 kayıt secili duruma geliyor.

Count

Bu komut ile veritabanında toplam kac kayıt olduğunu oğreneceğiz.Kısaca yazılışı şoyle :

sql="select count(*) as toplamkayit from tablo" burda toplamkayit'a bir field muameleri yaparak tabloda bulunan kayıt sayısını aktarıyoruz.Yani veritanında toplamkayıt diye bir field yok.Siz işin raconunu bilin yeter bu yuzden kısaca nasıl kullanacaksanız bir ornek vereyim...
Ornek :
bir veritabanı hayal edin.kutuphane diye bir tablo var.Bu tabloda id,kitapadi diye iki fiedl olsun.Toplam kayıt sayısını oğrenmek icin:
.
. veritabanına bağlantı işlemleri
.
.
Sql="select count(*) as toplamkayit from kutuphane"
set rs=baglanti.execute(sql)
dim toplam
toplam=rs("toplamkayit")

Sum

Benim en cok beğendiğim komutlardan biridir.Kısaca secilen field'in değerlerinin toplamını bulur.Yani field'de bulunan değerleri toplar.Kullanılış şekli countta olduğu gibidir.Kısaca :

sql="select sum(field) as toplam from tablo"

Yukardaki ifadece field yerine toplamı alınacak field'in gelmesi gerek.Yani bir ornek vermek gerekirse :
Ornek :
Yine bir veritabanı duşunun.Maas adında bir tablosu olsun.isim,ucret adında fieldleri olsun.Ve biz butun kayıtların toplam ucretmerini hesaplamak isteyelim.Eskiden olsa bir suru iş yapacaktık ama teknoloji gelişti ....

.
. veritabanına bağlantı işlemleri
.
.
Sql="select sum(ucret) as toplam from maas"
set rs=baglanti.execute(sql)
dim toplamucret
toplamucret=rs("toplam")

Not: Count'ta ve sum'da where sorgusu kullanarak kayıtsayısı hesaplanacak olan kayıtları kısıtlayabilirsiniz.Boylece yapacağınız programa gore atıyorum bir kişiye ait yıllık ucret toplamını oğrenebilirsiniz...

Between

Between komutunu belirli aralıktaki kayıtları secmek icin kullanacağız.Orneğin 10 ile 20 yaş arasındaki kayıtları secmek icin kullanabiliriz.Veya belirteceğimiz tarihler arasında kalan kayıtları secmek icin kullanabiliriz.İşte size sql ifadesi:

sql="select * from tablo where field between x and y"

Burda tablo yazan yere tablo ismi,field yazan yere field ismi.X yerine alt değer y yerine ise ust değer yazılmalı.Yani eğer uye ismindeki bir tabloda yas isminde bir field olsun.bizde kayıtlar arasında 10 ile 20 yaşın arasında olanları secmek istersek ifademiz
sql="select * from uye where yas between 10 and 20" şeklinde olmalı

Min,Max,Avg
Başlıktanda anlaşılacağı gibi minimum,Maksimum ve ortalama değerleri veritabanından almaya yarar.Ucunude bir anda kullanabiliriz veya teker teker yerine gorede kullanabiliriz.Şimdi ucunude bir yerde kullanalım ve ornek verelim..

sql="select max(field) as maksimum,min(field) as minimum,avg(field) as ortalama from tablo"

Evet sizinde anlayacağınız gibi kullanma şekli count ve sumda olduğu gibi.max(field) ile field alanındaki en buyuk değeri maksimum olarak,min(field) ile field alanındaki en kucuk değeri minumum olarak avg(field) ile field alanındaki ortalama değeri ortalama diye atıyoruz.Şimdi bir ornek verelim....
Ornek :
Herzamanki gibi bir veritabanı dosyası hayal edin.kurlar diye tablo ismi olsun.Dolar diyede bir field olsun..burda en yuksek değerini,en kucuk değerini ve ortalama değerini bulmak icin

.
. veritabanına bağlantı işlemleri
.
.
sql="select max(dolar) as maksimum,min(dolar) as minimum,avg(dolar) as ortalama from kurlar"
set rs=baglanti.execute(sql)
dim enyuksek,endusuk,ortalama
enyuksek=rs("maksimum")
endusuk=rs("minimum")
ortalama=rs("ortalama")

Peki ya sadece maksimum deperi istersek

sql="select max(dolar) as maksimum from kurlar"
set rs=baglanti.execute(sql)
dim enyuksek
enyuksek=rs("maksimum")

Aynı şekilde en dusuk değeri isterseniz ona gore değişikliği yapacaksınız..

__________________