Yazdır 13 Haziran 2010 Pazar (Hit: 13726)

Kayıt Sıralama (order by)

Yapılan sorgulama sonucundan listelenen kayıtları istenilen alana göre sıralamak için aşağıdaki SQL komutu kullanılır:

select alan1, alan2, .... from tablo_adi where koşul order by alan siralama_türü;

order by ifadesiyle sıralama yapılacağı belirtildikten sonra sıralamanın hangi alana göre yapılacağı belirtilmiştir. Sıralama türü olarak asc (artan, a-z, 0-9) yada desc (azalan, z-a, 9-0) kullanılır. Eğer hiçbir sıralama türü belirtilmezse varsayılan olarak artan sıralama yapılır.

Burada where $koşul ifadesi kullanılmak zorunda değildir. Kullanılacaksa order by ifadesinden önce kullanılmalıdır.

Okul veritabanı

 

Örnek: Tüm öğrencileri numaralarına göre artan bir şekilde sıralayalım.

Select * from ogrenciler order by ogrenci_no asc;

 

Örnek: Sadece erkek öğrencileri adlarına göre artan sıralayalım.

select * from ogrenciler where cinsiyeti='e' order by adi asc;

 

Örnek: 12blsa sınıfındaki öğrencileri soyadlarına göre azalan bir şekilde sıralayalım.

select * from ogrenciler where sinif_kodu='12blsa' order by soyadi desc;

 

Örnek: 12andbls sınıfındaki kız öğrencileri numaralarına göre artan bir şekilde sıralayalım.

select * from ogrenciler where cinsiyeti='k' and sinif_kodu='12andbls' order by ogrenci_no asc;

 

Örnek: 12blsb sınıfındaki erkek öğrencileri numaralarına göre artan şekilde sıralyalım. Ekranda öğrencilerin numaraları, adları ve soyadları görünsün.

select ogrenci_no, adi, soyadi from ogrenciler
where cinsiyeti='e' and sinif_kodu='12blsb' order by ogrenci_no asc;

 

Örnek: Yukarıdaki notlar tablosundaki mat dersinden alınan notları azalan bir şekilde sıralayalım.

select * from notlar where ders_kodu='mat' order by notu desc;

 

Örnek: Yukarıdaki notlar tablosunda ted dersinden alınan notları öğrenci numarasına göre artan sıralı bir şekilde gösterelim.

select * from notlar where ders_kodu='ted' order by ogrenci_no asc;

 

Örnek: 12blsb sınıfında geo dersinden alınan notları artan bir şekilde sıralı olarak sıralayalım. Ekranda öğrencilerin numarası, adı, soyadı, sınıf kodu, ders kodu ve notu görünsün.

select ogrenciler.ogrenci_no, ogrenciler.adi, ogrenciler.soyadi, ogrenciler.sinif_kodu, notlar.ders_kodu, notlar.notu from ogrenciler, notlar
where ogrenciler.ogrenci_no=notlar.ogrenci_no and ogrenciler.sinif_kodu='12blsb' and notlar.ders_kodu='geo' order by notlar.notu asc;

 

Örnek: Aşağıdaki uyeler tablosunda;

uye_id adi soyadi dogum_yili email uyelik_tarihi son_giris_tarihi
5 Mustafa Yaren 1985 m_yaren@phpdefteri.com 2010-06-11 2010-06-11
7 Fuat Ocak 1993 fuatocak@phpdefteri.com 2010-02-17 2010-02-22
8 Adem Ateş 1992 ademates@phpdefteri.com 2010-01-11 2010-03-12

1) Üyeleri adlarına göre artan bir şekilde sıralayalım

select * from uyeler order by adi asc;

2) Üyeleri üyelik tarihine göre azalan bir şekilde sıralayalım.

select * from uyeler order by uyelik_tarihi desc;

3) Adı E ile başlayan, 1990'dan önce doğmuş olana üyeleri son giriş tarihine göre artan bir şekilde sıralayalım.

select * from uyeler where adi like 'E%' and dogum_yili<1990 order by son_giris_tarihi asc;

 


Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache PHP MySQL PhpMyAdmin EasyPHP Xampp AppServ Wamp W3School

www.phpdefteri.com © 2010