Bilgiler
  • Ekleyen:
  • Ayberk Atasay
  • Tarih:
  • January 22, 2009
  • Kategori:
  • Programlama
  • Paylas:
SQL'de Order By Kullanimi

Bir onceki yazim olan SQL'de Where Kullanimi'nda SQL icinde where komutunun kullanimi anlatmaya calismistim. Bu yazimda ise yine SQL'in onemli parcalarindan biri olan Order By kullanimi anlatmaya calisacagim.

Order By Komutu Nedir?
Order By, veritabani uygulamalarinda listeleyecegimiz verilerin belirli bir duzen dahilinde gorunmesini saglayan komuttur. ornegin alfabetik olarak listelemek. (A-Z, Z-A)

Order By kullanmadigimizda verilerimiz ilk eklenen veriden son veriye dogru listelenir. Ama biz belirli bir alanin dikkate alinarak A-Z'ye listelemek icin "asc" etiketi kullanilir.

select * from TABLO where ALAN order by ALAN asc;


Ayni verilerimizi bu sefer tersten yani Z-A'ya listelemek icin "desc" etiketini kullaniriz.

select * from TABLO where ALAN order by ALAN desc;


Bunun disinda biraz daha karmasik bir yapi dusunursek ve verimizi tek duzen degilde iki uc kosula (alan) gore listelemek gerekebilir. Ben bu tarz bir uygulamayi bir etkinlik programinda yapmistim. once yillara ardindan ay ardindan gun olarak duzenli olarak siralamistim. Bunun icin gerekli kod ise asagida. Burda nasil bir veritabani yapinizin olduguda onem kazaniyor. ornegin gun-ay-yil olarak 3 alanda yaratilabilir veya tek alanda. Ben tek alan olarak dusunup ona gore ekliyorum.

select * from TABLO where ALAN order by year(TARIH_ALAN) desc, month(TARIH_ALAN) desc, day(TARIH_ALAN) desc;


Order By'in en temel kullanimi bu sekilde. Umarim yazi basit ve anlasilir olmustur. Bu ve benzeri konulari yine eklemeye devam edecegim.
Yorumlar
  • Eski Yorumlar:
  • Abdullah Ugraskan
  • Arkadasim eline saglik, yeni baslayanlar icin guzel bir icerik. Madem konu order by bende bisiy ekleyeyim. Mssql veritabani kullaniyorsaniz, rastgele veri cekmek icin NewID() ifadesini kullanabilirsiniz; Select * from tablo_adi order by NewID() Gelecek kayitlarin sayisi icinse TOP ifadesiyle gelecek rastgele veri sayisini ayarlayabilirsiniz. Select top 5 from tablo_adi order by NewID()
  • 2009-01-23 22:26:47
  • vedoza
  • tesekkurler eline saglik...
  • 2009-04-30 00:01:06
  • p_kilicarslan
  • tesekkurler yazilarini takip ediyorum eline saglik
  • 2009-10-30 13:27:23
  • Erdi
  • Arkadasim eline saglik ben yeniyim , bu konularda bi hayli zorlaniyordum ... sayende anladim ,anlatim cok basarili...
  • 2010-02-24 15:59:16
  • Abdulkadir
  • benim bir istegim olacak where kullanirken birden fazla sorgulama istiyorum. yani tek istekte iki tane where kullanmak istiyorum yardimci olursaniz sevinirim. simdiden tesekkurler
  • 2010-12-20 16:07:34
  • sinful
  • Select top 5 from tablo_adi bu komutu busekilde kullandigimizda ilk 5 kayit geliyor, peki bu tablonun tumunu almak istedigimizde isimize yariyor ama atiyorum tablo_adi icinde sadece bir kac sutunu almak istedigimizde asagidaki gibi select sID,sNo from tablo_adi bu sekilde oldugunda nasil ilk 5 kayiti getirebiliriz?
  • 2011-03-27 12:38:28
  • Osman
  • Bu sitedeki adamlar yazilimdan anlamiolar geri zekalilar sql duzgun ogretin yeni baslayanlar siteyi kullanmayin sizin zarariniza bu siteyi patlaticam
  • 2011-09-28 16:48:56