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
- SQL 04: AND ve OR İşleçleri
- SQL 05: Karmaşık AND ve OR sorguları
- SQL 07: TOP veya LIMIT (mySQL)
- SQL 08: LIKE İşleci (Operatörü) – 1
13 Ağustos 2009 Perşembe tarihinde yayınlandı.