Harun Reşit Zafer

Bâki kalan bu kubbede bir hoş sadâ imiş

SQL 06: ORDER BY (Sıralama)

SELECT sorgusu ile çektiğimiz kayıtları (sonuç kümesini) sıralamak için ORDER BY anahtar kelimesini kullanırız. Bu sıralama belirtilen kolona göre yapılır. Ve varsayılan olarak artan (küçükten büyüğe) sıradadır. ORDER BY için sözdizimi (syntax - sintaks) aşağıdaki gibidir:

SELECT kolon_adı(ları)
FROM tablo_adı
ORDER BY kolon_adı(ları) ASC|DESC

Burada sıralamanın azalan (büyükten küçüğe) şekilde olmasını istiyorsak DESC anahtar kelimesini kullanırız. Artan şekilde olması için ASC yazmamız veya hiç bir şey yazmamamız yeterlidir.

Not: Bu arada diğer SQL derslerine buradan ulaşabilirsiniz

Örnek sorgularımız için kullanacağımız Uyeler tablosu:

uye_adi isim soyisim e-posta cinsiyet
hrzafer Harun Reşit Zafer [email protected] E
derya.z Derya Zaimoğlu [email protected] K
meryem1990 Meryem Arkadaş [email protected] K
eaydin Emir Aydın [email protected] E
denizeri Levent Denizeri [email protected] E

 

SELECT isim, soyisim FROM uyeler ORDER BY isim

isim soyisim
Derya Zaimoğlu
Emir Aydın
Harun Reşit Zafer
Levent Denizeri
Meryem Arkadaş

Görüldüğü gibi sonuç kümesi isim kolonuna küçükten büyüğe göre sıralandı.

SELECT isim, soyisim FROM uyeler ORDER BY soyisim DESC
isim soyisim
Derya Zaimoğlu
Harun Reşit Zafer
Levent Denizeri
Emir Aydın
Meryem Arkadaş

Bu sorgu ile de  sonuç kümesini soyisim kolonuna göre azalan (büyükten küçüğe) şekilde sıralamış olduk. Aşağıdaki sorguyu da Personel tablomuz için yazalım:

per_no isim soyisim yas cinsiyet kent ulke maas
1 Ahmet Yılmaz 20 E Ankara Türkiye 2000
2 Mehmet Efe 22 E Bolu Türkiye 1800
3 Ayşe Can 23 K İstanbul Türkiye 2500
4 Fatma Ak 35 K Ankara Türkiye 2800
5 John Smith 45 E New York ABD 3500
6 Ellen Smith 40 K New York ABD 3000
7 Hans Müller 30 E Berlin Almanya 4000
8 Frank Cesanne 35 E Paris Fransa 3700
9 Abbas Demir 26 E Adana Türkiye 1500
10 Hatice Yılmaz 26 K İstanbul Türkiye 3000

Erkeklerden Türkiye’de olanları aldıkları maaşa göre artan şekilde sıralayan sorgu:

SELECT * FROM personel 
WHERE cinsiyet='E' AND ulke='Türkiye' ORDER BY maas
per_no isim soyisim yas cinsiyet kent ulke maas
9 Abbas Demir 26 E Adana Türkiye 1500
2 Mehmet Efe 22 E Bolu Türkiye 1800
1 Ahmet Yılmaz 20 E Ankara Türkiye 2000

Görüldüğü gibi ORDER BY anahtar kelimesi her zaman sorgunun sonuna geliyor. Çünkü sorgunun kendisi sonuç kümesini belirlerken ORDER BY yalnızca bu sonuç kümesini sıralıyor.

Herkese kolay gelsin

İlgili Diğer Makaleler

13 Ağustos 2009 Perşembe tarihinde yayınlandı.