|
#1
| ||||
| ||||
| SQL 2.Bölüm SQL 2.Bölüm İşte bir yazıda daha beraberiz.Başlıktan da anlayacağınız gibi bu SQL 1.Bölüm'ün 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 göre veritabanında seçilen bilgilerin artan veya azalan şekilde sıralanmasını sağlıyor.Örnek olarak bir veritabanı hayal edin.Bu veritabanında uye adında bir tablo olsun.Uyeadi,uyesoyadi,kayittarihi adında üç tanede field olsun.Şimdi biz bu bilgileri en son kayıt olandan ilk kayıt olana doğru sıralamak istersek : sql="select * from uyeorder by kayittarihi DESC" şeklinde bir sql komutu yazmamız gerek.Burda DESC ne iş derseniz hemen açı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 çıkar...Bu arada eğer sıralama string(alfanumerik) değerdeki field'e göre olacaksa sıralamaya göre A dan Z ye veya Z den A ya integer(sayı) değer ise sıralamaya göre büyükten küçüğe veya küçükten büyüğe doğru sıralama olacaktır.Aynı şekilde tarih değerde ise büyükten küçüğe veya küçükten büyüğe olacaktır. Top Hani bazı sitelerde ki özellikle toplist sitelerinde en son 5 veya en son 10 üye ş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ı seçmek için : Sql="select top sayi * from tablo order by id DESC" şeklinde kullanılır.Evet sayi yazan yere id field'ine göre DESC'den dolayı son kaç kaydı seçmek isterseniz o değeri vermeniz yeterli.Yani Sql="select top 5 * from tablo order by id DESC" dediğimiz zaman son 5 kayıt seçili duruma geliyor. Count Bu komut ile veritabanında toplam kaç kayıt olduğunu öğreneceğiz.Kısaca yazılışı şöyle : 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 yüzden kısaca nasıl kullanacaksanız bir örnek vereyim... Örnek : bir veritabanı hayal edin.kutuphane diye bir tablo var.Bu tabloda id,kitapadi diye iki fiedl olsun.Toplam kayıt sayısını öğrenmek için: . . 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 çok beğendiğim komutlardan biridir.Kısaca seçilen 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 örnek vermek gerekirse : Örnek : Yine bir veritabanı düşünün.Maas adında bir tablosu olsun.isim,ucret adında fieldleri olsun.Ve biz bütün kayıtların toplam ücretmerini hesaplamak isteyelim.Eskiden olsa bir sürü 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.Böylece yapacağınız programa göre atıyorum bir kişiye ait yıllık ücret toplamını öğrenebilirsiniz... Between Between komutunu belirli aralıktaki kayıtları seçmek için kullanacağız.Örneğin 10 ile 20 yaş arasındaki kayıtları seçmek için kullanabiliriz.Veya belirteceğimiz tarihler arasında kalan kayıtları seçmek için 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 üst 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ı seçmek 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.Üçünüde bir anda kullanabiliriz veya teker teker yerine görede kullanabiliriz.Şimdi üçünüde bir yerde kullanalım ve örnek 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 büyük değeri maksimum olarak,min(field) ile field alanındaki en küçük değeri minumum olarak avg(field) ile field alanındaki ortalama değeri ortalama diye atıyoruz.Şimdi bir örnek verelim.... Örnek : Herzamanki gibi bir veritabanı dosyası hayal edin.kurlar diye tablo ismi olsun.Dolar diyede bir field olsun..burda en yüksek değerini,en küçük değerini ve ortalama değerini bulmak için . . 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 göre değişikliği yapacaksınız.. ![]() #include <middleeast.h> #define ISRAELIS foul_beasts |